OAuth 2.0 autorizacija

OAuth 2.0 yra autorizacijos sistema, kuri tapo de facto standartu autorizuojant prieiga prie apsaugotu istekliu. Ji leidzia treciuju saliu programoms gauti prieiga prie vartotojo duomenu neatskleizdziant vartotojo kredencialu. Uzviot dalintis slaptazodziais, paslaugos suteikia zymenus.

Pagrindas

Isivaizduokite, kad norite naudoti treciosios salies programa, kuriai reikia pasiekti duomenis is jusu Google paskyros. Juk nenoretumete pateikti siai treciosios salies programai savo Google vartotojo vardo ir slaptazodzio, tiesa? Stai cia i pagalba ateina OAuth. Ji leidzia suteikti siai programai prieiga prie jusu Google duomenu nedalijant savo Google kredencialu.

OAuth 2.0 naudojant LoadFocus

OAuth 2.0 pagrindai

OAuth 2.0 orientuojasi i kliento kurejio paprastuma, kartu teikiant konkreczius autorizacijos srautus tinklo programoms, stacionarioms programoms, mobiliesiems telefonams ir gyvenamojo kambario irenginiams. Stai supaprastinta isskaida:

  • Istekliu savininkas: Vartotojas, kuris autorizuoja programa pasiekti jo paskyra. Programos prieiga prie vartotojo paskyros ribojama autorizuotos "apreptis" (pvz., skaitymas ar rasymas tam tikro tipo duomenu).

  • Klientas: Programa, kuri nori pasiekti vartotojo paskyra. Pries tai darydama, ji turi buti autorizuota vartotojo ir autorizacija turi buti patvirtinta API.

  • Istekliu serveris: Serveris, talpinantis vartotoju paskyras. Jis gali priimti ir atsakyti i apsaugotu istekliu uzklausas naudodamas prieigos zymenus.

  • Autorizacijos serveris: Sis serveris tikrina vartotojo tapatybe ir isduoda prieigos zymenus programai.

OAuth 2.0 srautai

Yra keli "srautai" ar "suteikimo tipai" skirtingiems programu tipams ir naudojimo atvejams:

  • Authorization Code (programoms, veikianczioms tinklo serveryje): Tai dazniausias srautas, ypac tinklo programoms. Jis apima vartotojo peradresavima i paslauga, kur jis prisijungia. Po prisijungimo jis peradresuojamas atgal i programa su autorizacijos kodu, kuri programa gali apsikeisti i prieigos zymeni.

  • Implicit (programoms, veikianczioms narsykleje): Sis srautas skirtas vartotojo agento centrinems programoms (pvz., vieno puslapio programoms), kur prieigos zymuo grazinamas tiesiogiai be papildomo autorizacijos kodo apsikeitimo zingsnio.

  • Resource Owner Password Credentials: Sis srautas leidzia programai tiesiogiai pateikti vartotojo varda ir slaptazodi. Rekomenduojamas tik patikimoms programoms, nes apima dalijimasi vartotojo kredencialais.

  • Client Credentials: Naudojamas, kai pats klientas yra istekliu savininkas; pavyzdziui, kai klientas yra fonine paslauga.

Zymenys

Uzviot naudoti vartotojo kredencialus, OAuth 2.0 naudoja zymenus. Yra du tipai:

  • Prieigos zymuo (Access Token): Leidzia programai atlikti API uzklausas vartotojo vardu. Jis yra trumpalaikis.

  • Atnaujinimo zymuo (Refresh Token): Gali buti naudojamas naujam prieigos zymeniui gauti, jei pradinis prieigos zymuo nustojo galioti. Jis ilgiau galioja nei prieigos zymuo.

Saugumas

OAuth 2.0 remiasi SSL/TLS saugumui. Jis uztikrina duomenu konfidencialuma tarp kliento, autorizacijos serverio ir istekliu serverio. Net jei uztipulikai perima prieigos zymeni, jie negali jo naudoti po jo galiojimo pabaigos (paprastai trumpo laikotarpio) ar uz apreptis, kuriai jis buvo isduotas.

Isvada

OAuth 2.0 yra galinga ir lanksti sistema, igalinanti treciuju saliu programas pasiekti vartotojo duomenis neatskleizdziant vartotojo kredencialu. Ji tapo butinu irankiu siuolaikiniame tinkle, suteikdama vartotojams ir kurejams saugi ir efektyvia priemone leidimu suteikimui ir valdymui tarp ivairiu paslaugu ir programu.