Authorization Code engedélyezési típus az OAuth 2.0-ban
Az Authorization Code engedélyezési típus az OAuth 2.0 egyik leggyakrabban használt engedélyezési típusa. Kifejezetten olyan alkalmazásokhoz tervezték, amelyek bizalmasan tudják megőrizni a kliens titkukat, így ideális szerver oldali alkalmazásokhoz.
Hogyan működik az Authorization Code?
- Átirányítás:
- A kliens alkalmazás átirányítja a felhasználót az OAuth 2.0 engedélyezési szerver engedélyezési végpontjára. Ez az átirányítás jellemzően olyan lekérdezési paramétereket tartalmaz, mint a
client_id,response_type("code" értékre állítva),redirect_uri(ahová az engedélyezési szerver a felhasználót az engedély megadása/megtagadása után küldi) ésscope(amely meghatározza az alkalmazás által kért hozzáférési szintet).
- Felhasználó hitelesítése:
- A felhasználó bejelentkezik az engedélyezési szerverre (ha még nincs bejelentkezve) és áttekinti a kliens alkalmazás hozzáférési kérelmét.
- Engedélyezési kód kibocsátása:
- Ha a felhasználó engedélyt ad, visszairányítják a kliens alkalmazásba a korábban megadott
redirect_uri-n keresztül. Az átirányítás tartalmaz egy engedélyezési kódot is az URL-ben.
- Token csere:
- A kliens alkalmazás az engedélyezési kódot hozzáférési tokenre cseréli egy POST kéréssel az engedélyezési szerver token végpontjára. Ez a kérés tartalmazza az engedélyezési kódot, a
client_id-t, aclient_secret-et, aredirect_uri-t és agrant_type-ot ("authorization_code" értékre állítva).
- Hozzáférési token kibocsátása:
- Ha az engedélyezési szerver sikeresen ellenőrzi a megadott kódot és kliens hitelesítő adatokat, hozzáférési tokent (és opcionálisan frissítési tokent) ad vissza a kliens alkalmazásnak.
- Védett erőforrás elérése:
- A kliens alkalmazás a kapott hozzáférési tokent használja a felhasználó nevében történő kérésekhez az erőforrás szerveren (API).
Hogyan konfigurálja az Authorization Code-ot?
- Alkalmazás regisztrálása:
- Az OAuth folyamat megkezdése előtt regisztrálja alkalmazását az OAuth 2.0 szolgáltatónál. Sikeres regisztráció után
client_id-t ésclient_secret-et kap.
- Redirect URI beállítása:
- Az alkalmazás regisztrálásakor általában meg kell adnia egy
redirect_uri-t. Erre az URI-ra irányítja az engedélyezési szerver a felhasználókat a hozzáférés megadása/megtagadása után. Győződjön meg arról, hogy ez az URI pontos és biztonságos (jellemzően HTTPS-t használ).
- OAuth folyamat implementálása:
- Használjon az alkalmazás nyelvével és keretrendszerével kompatibilis könyvtárat vagy SDK-t a folyamat egyszerűsítéséhez.
- Kezdje a folyamatot a felhasználók átirányításával az engedélyezési szerver engedélyezési végpontjára a szükséges lekérdezési paraméterekkel.
- Implementáljon egy végpontot a szerveren, amely megfelel a regisztrált
redirect_uri-nak. Ez a végpont fogja kezelni a bejövő engedélyezési kódot. - Cserélje az engedélyezési kódot hozzáférési tokenre egy POST kéréssel a token végpontra.
- Kliens titok védelme:
- Soha ne tegye elérhetővé a
client_secret-et kliens oldali kódban. Csak szerver oldalon használja az engedélyezési kód hozzáférési tokenre történő cserélésekor.
- Token tárolás:
- A hozzáférési token megszerzése után tárolja biztonságosan. Az alkalmazás igényeitől függően ez lehet szerver memória, adatbázis vagy biztonságos süti. Mindig használjon HTTPS-t a titkosított kommunikáció biztosításához.
- Token lejárat kezelése:
- A hozzáférési tokenek gyakran rövid élettartamúak. Ha rendelkezik frissítési tokennel, használja új hozzáférési token beszerzéséhez anélkül, hogy a felhasználónak újra kellene hitelesítenie magát.
Záró gondolatok az Authorization Code-ról
Az Authorization Code engedélyezési típus robusztus és biztonságos módszer a felhasználói engedélyezés megszerzésére, különösen szerver oldali alkalmazásokhoz. Az engedélyezési kód hozzáférési tokenre történő cseréjének további lépése biztosítja, hogy elkerüljük a felhasználói hitelesítő adatokhoz való közvetlen hozzáférést. Az implementáció során mindig helyezze előtérbe a biztonságot, használjon HTTPS-t és biztonságosan kezelje a kliens titkokat és tokeneket.