Tip podelitve avtorizacijske kode v OAuth 2.0
Tip podelitve avtorizacijske kode je eden najpogosteje uporabljenih tipov podelitev OAuth 2.0. Posebej je zasnovan za aplikacije, ki lahko zaupno vzdržujejo svojo skrivnost odjemalca, kar ga naredi idealnega za strežniške aplikacije.
Kako deluje avtorizacijska koda?
- Preusmeritev:
- Odjemalska aplikacija preusmeri uporabnika na končno točko avtorizacije avtorizacijskega strežnika OAuth 2.0. Ta preusmeritev običajno vključuje poizvedbene parametre, kot so
client_id,response_type(nastavljen na "code"),redirect_uri(kamor bo avtorizacijski strežnik poslal uporabnika po odobritvi/zavrnitvi dovoljenja) inscope(ki določa raven dostopa, ki jo aplikacija zahteva).
- Avtentikacija uporabnika:
- Uporabnik se prijavi v avtorizacijski strežnik (če še ni prijavljen) in pregleda zahtevo za dostop odjemalske aplikacije.
- Izdaja avtorizacijske kode:
- Če uporabnik odobri dovoljenje, je preusmerjen nazaj v odjemalsko aplikacijo prek predhodno navedenega
redirect_uri. Preusmeritev vključuje tudi avtorizacijsko kodo v URL-ju.
- Zamenjava za žeton:
- Odjemalska aplikacija zamenja avtorizacijsko kodo za žeton za dostop z zahtevo POST na končno točko za žetone avtorizacijskega strežnika. Ta zahteva vsebuje avtorizacijsko kodo,
client_id,client_secret,redirect_uriingrant_type(nastavljen na "authorization_code").
- Izdaja žetona za dostop:
- Če avtorizacijski strežnik uspešno preveri navedeno kodo in poverilnice odjemalca, vrne žeton za dostop (in po želji žeton za osvežitev) odjemalski aplikaciji.
- Dostop do zaščitenega vira:
- Odjemalska aplikacija uporablja pridobljeni žeton za dostop za pošiljanje zahtev strežniku virov (API) v imenu uporabnika.
Kako konfigurirati avtorizacijsko kodo?
- Registrirajte svojo aplikacijo:
- Pred začetkom toka OAuth registrirajte svojo aplikacijo pri ponudniku OAuth 2.0. Po uspešni registraciji boste prejeli
client_idinclient_secret.
- Nastavitev URI za preusmeritev:
- Pri registraciji aplikacije vas bodo pogosto prosili za navedbo
redirect_uri. To je URI, kamor bo avtorizacijski strežnik poslal uporabnike po odobritvi/zavrnitvi dostopa. Zagotovite, da je ta URI natančen in varen (običajno z uporabo HTTPS).
- Implementirajte tok OAuth:
- Uporabite knjižnico ali SDK, združljiv z jezikom in ogrodjem vaše aplikacije, za poenostavitev tega postopka.
- Začnite tok s preusmeritvijo uporabnikov na končno točko avtorizacije avtorizacijskega strežnika z ustreznimi poizvedbenimi parametri.
- Implementirajte končno točko na vašem strežniku, ki se ujema z registriranim
redirect_uri. Ta končna točka bo obdelala prihajajočo avtorizacijsko kodo. - Zamenjajte avtorizacijsko kodo za žeton za dostop z zahtevo POST na končno točko za žetone.
- Zavarujte skrivnost odjemalca:
- Nikoli ne izpostavite svojega
client_secretv kodi na strani odjemalca. Uporabite ga samo na strani strežnika pri zamenjavi avtorizacijske kode za žeton za dostop.
- Shranjevanje žetonov:
- Ko imate žeton za dostop, ga varno shranite. Odvisno od potreb vaše aplikacije je to lahko v pomnilniku strežnika, podatkovni bazi ali varnem piškotku. Vedno uporabite HTTPS za zagotovitev šifrirane komunikacije.
- Obravnavanje poteka žetonov:
- Žetoni za dostop so pogosto kratkoživljivi. Če imate žeton za osvežitev, ga uporabite za pridobitev novega žetona za dostop, ne da bi se moral uporabnik znova avtenticirati.
Zaključne misli o avtorizacijski kodi
Tip podelitve avtorizacijske kode je robustna in varna metoda za pridobitev avtorizacije uporabnika, zlasti za strežniške aplikacije. Dodatni korak zamenjave avtorizacijske kode za žeton za dostop zagotavlja, da se izognemo neposrednemu dostopu do uporabniških poverilnic. Pri implementaciji vedno dajte prednost varnosti, uporabite HTTPS in varno upravljajte skrivnosti odjemalcev in žetone.