Authorization Code Grant Type i OAuth 2.0
Authorization Code Grant Type er en af de mest anvendte OAuth 2.0-tildelingstyper. Den er specifikt designet til applikationer, der fortroligt kan opbevare deres client secret, hvilket gør den ideel til server-side applikationer.
Hvordan fungerer Authorization Code?
- Omdirigering:
- Klientapplikationen omdirigerer brugeren til OAuth 2.0-autorisationsserverens autorisationsendpoint. Denne omdirigering inkluderer typisk forespørgselsparametre som
client_id,response_type(sat til "code"),redirect_uri(hvor autorisationsserveren sender brugeren efter godkendelse/afvisning) ogscope(som angiver det adgangsniveau, applikationen anmoder om).
- Brugerautentificering:
- Brugeren logger ind på autorisationsserveren (hvis ikke allerede logget ind) og gennemgår adgangsanmodningen fra klientapplikationen.
- Udstedelse af autorisationskode:
- Hvis brugeren giver tilladelse, omdirigeres de tilbage til klientapplikationen via den tidligere angivne
redirect_uri. Omdirigeringen inkluderer også en autorisationskode i URL'en.
- Token-udveksling:
- Klientapplikationen udveksler autorisationskoden til et adgangstoken ved at sende en POST-forespørgsel til autorisationsserverens token-endpoint. Denne forespørgsel indeholder autorisationskoden,
client_id,client_secret,redirect_urioggrant_type(sat til "authorization_code").
- Udstedelse af adgangstoken:
- Hvis autorisationsserveren succesfuldt verificerer den angivne kode og klientlegitimationsoplysninger, returnerer den et adgangstoken (og eventuelt et refresh token) til klientapplikationen.
- Adgang til beskyttet ressource:
- Klientapplikationen bruger det opnåede adgangstoken til at sende forespørgsler til ressourceserveren (API) på vegne af brugeren.
Sådan konfigurerer du Authorization Code
- Registrer din applikation:
- Før du starter OAuth-flowet, registrer din applikation hos OAuth 2.0-udbyderen. Ved succesfuld registrering modtager du en
client_idogclient_secret.
- Redirect URI-opsætning:
- Når du registrerer din applikation, bliver du ofte bedt om at angive en
redirect_uri. Denne URI er, hvor autorisationsserveren sender brugere, efter de har godkendt/afvist adgang. Sørg for, at denne URI er nøjagtig og sikker (typisk ved brug af HTTPS).
- Implementer OAuth-flowet:
- Brug et bibliotek eller SDK, der er kompatibelt med din applikations sprog og framework, for at forenkle denne proces.
- Start flowet ved at omdirigere brugere til autorisationsserverens autorisationsendpoint med de nødvendige forespørgselsparametre.
- Implementer et endpoint på din server, der matcher den
redirect_uri, du registrerede. Dette endpoint håndterer den indkommende autorisationskode. - Udveksl autorisationskoden til et adgangstoken ved at sende en POST-forespørgsel til token-endpointet.
- Sikr Client Secret:
- Udsæt aldrig din
client_secreti klient-side kode. Brug den kun server-side ved udveksling af autorisationskoden til et adgangstoken.
- Token-opbevaring:
- Når du har et adgangstoken, opbevar det sikkert. Afhængigt af din applikations behov kan dette være i serverhukommelse, en database eller en sikker cookie. Brug altid HTTPS for at sikre krypteret kommunikation.
- Håndter token-udløb:
- Adgangstokens har ofte kort levetid. Hvis du har et refresh token, brug det til at få et nyt adgangstoken uden at brugeren skal genautentificere.
Afsluttende tanker om Authorization Code
Authorization Code Grant Type er en robust og sikker metode til at opnå brugerautorisering, især for server-side applikationer. Det ekstra trin med at udveksle en autorisationskode til et adgangstoken sikrer, at direkte adgang til brugerlegitimationsoplysninger undgås. Ved implementering skal du altid prioritere sikkerhed ved at bruge HTTPS og sikkert administrere client secrets og tokens.