Authorization Code Grant Type i OAuth 2.0
Authorization Code Grant Type är en av de mest använda OAuth 2.0 grant types. Den är specifikt utformad för applikationer som konfidentiellt kan upprätthålla sin klienthemlighet, vilket gör den idealisk för serversideapplikationer.
Hur fungerar Authorization Code?
- Omdirigering:
- Klientapplikationen omdirigerar användaren till OAuth 2.0-auktoriseringsserverns auktoriseringsendpoint. Denna omdirigering inkluderar vanligtvis frågeparametrar som
client_id,response_type(inställd på "code"),redirect_uri(dit auktoriseringsservern skickar användaren efter beviljande/nekande av behörighet) ochscope(som specificerar den åtkomstnivå applikationen begär).
- Användarautentisering:
- Användaren loggar in på auktoriseringsservern (om inte redan inloggad) och granskar åtkomstbegäran från klientapplikationen.
- Utfärdande av auktoriseringskod:
- Om användaren beviljar behörighet omdirigeras de tillbaka till klientapplikationen via den tidigare angivna
redirect_uri. Omdirigeringen inkluderar även en auktoriseringskod i URL:en.
- Tokenbyte:
- Klientapplikationen byter auktoriseringskoden mot en åtkomsttoken genom att göra en POST-förfrågan till auktoriseringsserverns tokenendpoint. Denna förfrågan innehåller auktoriseringskoden,
client_id,client_secret,redirect_uriochgrant_type(inställd på "authorization_code").
- Utfärdande av åtkomsttoken:
- Om auktoriseringsservern framgångsrikt verifierar den tillhandahållna koden och klientuppgifterna returnerar den en åtkomsttoken (och valfritt en refresh token) till klientapplikationen.
- Åtkomst till skyddad resurs:
- Klientapplikationen använder den erhållna åtkomsttoken för att göra förfrågningar till resursservern (API:et) på användarens vägnar.
Hur konfigurerar man Authorization Code?
- Registrera din applikation:
- Innan du startar OAuth-flödet, registrera din applikation hos OAuth 2.0-leverantören. Vid lyckad registrering får du en
client_idochclient_secret.
- Redirect URI-konfiguration:
- Vid registrering av din applikation ombeds du ofta att ange en
redirect_uri. Denna URI är dit auktoriseringsservern skickar användare efter att de beviljat/nekat åtkomst. Säkerställ att denna URI är korrekt och säker (vanligtvis med HTTPS).
- Implementera OAuth-flödet:
- Använd ett bibliotek eller SDK som är kompatibelt med din applikations språk och ramverk för att förenkla processen.
- Börja flödet genom att omdirigera användare till auktoriseringsserverns auktoriseringsendpoint med nödvändiga frågeparametrar.
- Implementera en endpoint på din server som matchar den
redirect_uridu registrerade. Denna endpoint hanterar den inkommande auktoriseringskoden. - Byt auktoriseringskoden mot en åtkomsttoken genom att göra en POST-förfrågan till tokenendpointen.
- Skydda klienthemligheten:
- Exponera aldrig din
client_secreti klientsidig kod. Använd den bara serversidigt vid byte av auktoriseringskoden mot en åtkomsttoken.
- Tokenlagring:
- När du har en åtkomsttoken, lagra den säkert. Beroende på din applikations behov kan detta vara i serverminne, en databas eller en säker cookie. Använd alltid HTTPS för att säkerställa krypterad kommunikation.
- Hantera tokenutgång:
- Åtkomsttoken är ofta kortlivade. Om du har en refresh token, använd den för att få en ny åtkomsttoken utan att användaren behöver autentisera sig igen.
Avslutande tankar om Authorization Code
Authorization Code Grant Type är en robust och säker metod för att erhålla användarauktorisering, särskilt för serversideapplikationer. Det extra steget att byta en auktoriseringskod mot en åtkomsttoken säkerställer att direkt åtkomst till användaruppgifter undviks. Vid implementering, prioritera alltid säkerhet, använd HTTPS och hantera klienthemligheter och tokens säkert.