Kas yra Grant Type?
OAuth 2.0 autorizacijos kontekstas
OAuth 2.0 autorizacijos sistemoje terminas "Grant Type" nurodo metoda, kuriuo programa gauna prieigos zymeni. Is esmes, suteikimo tipas nurodo, kokio autorizacijos srauto programa naudos vartotojo duomenims pasiekti.
Skirtingi suteikimo tipai OAuth 2.0
OAuth 2.0 apibrezia kelis suteikimo tipus, pritaikytus skirtingiems programu scenarijams:
- Authorization Code:
- Geriausiai tinka: programoms, kurios gali issaugoti kliento slapta rakta, daznai serverio puses programoms.
- Srautas: Vartotojas pirmiausia peradresuojamas i autentifikacijos serveri. Sekmingai autentifikuotam, jis peradresuojamas atgal i programa su autorizacijos kodu. Programa apsikeicia siuo kodu i prieigos zymeni.
- Implicit:
- Geriausiai tinka: vartotojo agento centrinems programoms, pvz., vieno puslapio programoms.
- Srautas: Atspindi Authorization Code srauta, bet prieigos zymuo pateikiamas tiesiogiai be tarpinio kodo. Laikomas maziau saugiu nei Authorization Code metodas.
- Password (Resource Owner Password Credentials):
- Geriausiai tinka: labai patikimoms programoms, daznai valdomoms tos pacios organizacijos kaip ir istekliu serveris.
- Srautas: Vartotojai tiesiogiai iveda savo vartotojo varda ir slaptazodi i programa. Programa naudoja siuos kredencialus prieigos zymeniui gauti. Sis srautas paprastai nerekomenduojamas, nebent klientas yra labai patikimas.
- Client Credentials:
- Geriausiai tinka: paslaugoms ar programoms, kurioms reikia pasiekti savo isteklius, o ne vartotojo.
- Srautas: Programa autentifikuojasi naudodama savo kredencialus (pvz., kliento ID ir slaptaji rakta) ir gauna prieigos zymeni.
- Device Code (irenginiams be issamiu narsykles galimybiu):
- Geriausiai tinka: irenginiams, tokiems kaip ismanieji televizoriai, zaidimu konsoles ar spausdintuvai.
- Srautas: Irenginys komunikuoja su autorizacijos serveriu, kad gautu irenginio koda ir vartotojo koda. Vartotojas iveda vartotojo koda kitame irenginyje (pvz., ismaniajame telefone). Po patikrinimo irenginys gauna prieigos zymeni.
- Refresh Token:
- Naudojimas: Tai ne atskiras srautas, bet papildo kitus suteikimo tipus. Kai prieigos zymens galiojimas baigiasi, atnaujinimo zymuo leidzia programai gauti nauja be vartotojo pakartotinio prisijungimo.
Kodel suteikimo tipai svarbius?
Suteikimo tipai suteikia lankstumo ivairiems programu kontekstams. Kiekvienas is ju uztikrina, kad prieigos zymens gavimas butu kuo saugesnis, atsizvelgiant i programos apribojimus. Suteikimo tipo pasirinkimas veikia saveika tarp kliento, vartotojo ir autorizacijos serverio, todel jo teisingas pasirinkimas yra labai svarbus tiek naudojamumui, tiek saugumui.