OAuth eta OpenID Connect-en gida ilustratua

Ohar. itzul.: Okta-ren artikulu bikain honek OAuth eta OIDC (OpenID Connect) nola funtzionatzen duten azaltzen du modu sinple eta argi batean. Ezagutza hori erabilgarria izango da web-aplikazio ezagunen garatzaileentzat, sistema-administratzaileentzat eta baita "ohiko erabiltzaileentzat" ere, ziurrenik beste zerbitzu batzuekin isilpeko datuak ere trukatzen dituztenak.

Interneten Harri Aroan, zerbitzuen artean informazioa partekatzea erraza zen. Zure saioa eta pasahitza zerbitzu batetik bestera eman besterik ez duzu, zure kontuan sartu eta behar zuen informazioa jasotzeko.

OAuth eta OpenID Connect-en gida ilustratua
"Emaidazu zure banku-kontua". Β«Pasahitzarekin eta diruarekin dena ondo egongo dela agintzen dugu. Hori da zintzoa, zintzoa!" *hee je*

Izua! Inork ez dio inoiz eskatu behar erabiltzaile bati erabiltzaile-izena eta pasahitza partekatzeko, kredentzialak, beste zerbitzu batekin. Ez dago bermatzen zerbitzu honen atzean dagoen erakundeak datuak seguru mantenduko dituenik eta ez duela behar baino informazio pertsonal gehiago bilduko. Erokeria dirudi, baina aplikazio batzuek praktika hau erabiltzen dute oraindik!

Gaur egun estandar bakarra dago zerbitzu bati beste baten datuak modu seguruan erabiltzeko aukera ematen diona. Zoritxarrez, halako estandarrak jerga eta termino asko erabiltzen dituzte, eta horrek ulermena zailtzen du. Material honen helburua ilustrazio errazak erabiliz nola funtzionatzen duten azaltzea da (Uste al duzu nire marrazkiek haurren zurtoinaren antza dutela? Tira!).

OAuth eta OpenID Connect-en gida ilustratua

Bide batez, gida hau bideo formatuan ere eskuragarri dago:

Jaun-andreok, ongi etorriak: OAuth 2.0

OAuth 2.0 segurtasun estandarra da, eta aplikazio bati beste aplikazio bateko informazioa atzitzeko baimena lortzeko baimena ematen dio. Baimena emateko urratsen sekuentzia [baimena] (Edo baimena [adostasuna]) askotan deitu baimena [baimena] edo are eskuordetutako baimena [ordezatutako baimena]. Estandar honekin, aplikazio bati datuak irakurtzeko edo zure izenean beste aplikazio baten funtzioak erabiltzeko baimena ematen diozu zure pasahitza eman gabe. Klasea!

Adibide gisa, demagun "Eguneko Lucky Pun of the Game" izeneko gune bat aurkitzen duzula [Eguneko hitz ikaragarria] eta bertan erregistratzea erabaki zuen telefonoan egunero testu-mezuen moduko hitz-jokoak jasotzeko. Asko gustatu zaizu gunea, eta zure lagun guztiekin partekatzea erabaki duzu. Azken finean, denei gustatzen zaie hitz-joko beldurgarriak, ezta?

OAuth eta OpenID Connect-en gida ilustratua
"Eguneko hitz-joko tamalgarria: gorputzaren ezkerreko erdia galdu zuen tipoaz entzun al duzu? Orain beti du arrazoia!Β». (gutxi gorabeherako itzulpena, jatorrizkoak bere hitz-jokoa duelako - gutxi gorabehera itzul.)

Argi dago kontaktuen zerrendatik pertsona bakoitzari idaztea ez dela aukera bat. Eta ni bezalako apur bat bazara ere, edozein neurritan ibiliko zara alferrikako lana saihesteko. Zorionez, Terrible Pun of the Day zure lagun guztiak gonbida ditzake berez! Horretarako, zure kontaktuen posta elektronikorako sarbidea ireki behar duzu; guneak berak gonbidapenak bidaliko dizkie (OAuth arauak)!

OAuth eta OpenID Connect-en gida ilustratua
Β«Denok maite dituzte hitz-jokoak! - Dagoeneko saioa hasi duzu? "Trible Pun of the Day webguneari zure kontaktuen zerrendan sartzeko baimena eman nahi al diozu? - Eskerrik asko! Hemendik aurrera, egunero abisuak bidaliko dizkiegu ezagutzen dituzun guztiei, denboraren amaiera arte! Lagun onena zara!"

  1. Aukeratu zure posta-zerbitzua.
  2. Beharrezkoa bada, joan posta-gunera eta hasi saioa zure kontuan.
  3. Eman baimena Terrible Pun of the Day zure kontaktuetara sartzeko.
  4. Itzuli Terrible Pun of the Day gunera.

Iritziz aldatzen bazara, OAuth erabiltzen duten aplikazioek sarbidea kentzeko modua ere eskaintzen dute. Terrible Pun of the Day-rekin kontaktuak gehiago partekatu nahi ez dituzula erabaki ondoren, posta-gunera joan eta hitz-jokoaren gunea baimendutako aplikazioen zerrendatik kendu dezakezu.

OAuth Flow

Esan ohi den hori pasatu berri dugu fluxua [fluxua] OAuth. Gure adibidean, fluxu hau urrats ikusezinek osatzen dute, baita hainbat urrats ikusezin ere, zeinetan bi zerbitzu informazio truke seguruan adosten duten. Aurreko Terrible Pun of the Day adibideak OAuth 2.0 fluxu ohikoena erabiltzen du, "baimen-kodea" fluxua deritzona. ["baimen-kodea" fluxua].

OAuth-ek funtzionatzen duen xehetasunetan murgildu aurretik, hitz egin dezagun termino batzuen esanahiari buruz:

  • Baliabideen jabea:

    OAuth eta OpenID Connect-en gida ilustratua

    Zu zara! Zure kredentzialak, zure datuak eta zure kontuetan egin daitezkeen jarduera guztiak kontrolatzen dituzu.

  • Bezero:

    OAuth eta OpenID Connect-en gida ilustratua

    Aplikazio bat (adibidez, Terrible Pun of the Day zerbitzua) zenbait ekintza atzitu edo egin nahi dituena Baliabideen jabea'a.

  • Baimen zerbitzaria:

    OAuth eta OpenID Connect-en gida ilustratua

    Ezagutzen duen aplikazioa Baliabideen jabea'a eta zeinetan u Baliabideen jabea'Dagoeneko kontu bat daukazu.

  • baliabideen zerbitzaria:

    OAuth eta OpenID Connect-en gida ilustratua

    Aplikazioak programatzeko interfazea (API) edo zerbitzu hori Bezero izenean erabili nahi du Baliabideen jabea'a.

  • Birbideratu URIa:

    OAuth eta OpenID Connect-en gida ilustratua

    Lotura hori Baimen zerbitzaria birbideratuko du Baliabideen jabea'eta baimena eman ondoren Bezero'at. Batzuetan "Callback URL" deitzen zaio.

  • Erantzun Mota:

    OAuth eta OpenID Connect-en gida ilustratua

    Jasoko den informazio mota Bezero. Ohikoena Erantzun Mota'ohm da kodea, alegia Bezero jasotzea espero du Baimen Kodea.

  • Scope:

    OAuth eta OpenID Connect-en gida ilustratua

    Hau beharrezkoak diren baimenen deskribapen zehatza da Bezero'y, esate baterako, datuak atzitzea edo zenbait ekintza egitea.

  • Baimena:

    OAuth eta OpenID Connect-en gida ilustratua

    Baimen zerbitzaria txapel Esparrueskatu Bezero'om, eta galdetzen du Baliabideen jabea'a, prest al dago emateko Bezero'baimen egokiak izan.

  • Bezeroaren IDa:

    OAuth eta OpenID Connect-en gida ilustratua

    Identifikatzeko ID hau erabiltzen da Bezero'a on Baimen zerbitzaria'e.

  • Bezeroaren sekretua:

    OAuth eta OpenID Connect-en gida ilustratua

    Hau da bakarrik ezagutzen den pasahitza Bezero'zu eta Baimen zerbitzaria'at. Informazioa modu pribatuan partekatzeko aukera ematen du.

  • Baimen Kodea:

    OAuth eta OpenID Connect-en gida ilustratua

    Baliozkotasun-epe laburreko aldi baterako kodea, zeina Bezero It eskaintzen Baimen zerbitzaria'y truke Sarbidea token.

  • Sarbidea token:

    OAuth eta OpenID Connect-en gida ilustratua

    Bezeroak komunikatzeko erabiliko duen giltza baliabideen zerbitzaria'om. Ematen duen bereizgarri edo giltza-txartel moduko bat Bezero'datuak eskatzeko edo ekintzak egiteko baimena izatea baliabideen zerbitzaria'e zure izenean.

Kontuan izan: Batzuetan, Baimen Zerbitzaria eta Baliabide Zerbitzaria zerbitzari bera dira. Hala ere, kasu batzuetan, zerbitzari desberdinak izan daitezke, nahiz eta erakunde berekoak ez izan. Adibidez, Baimen Zerbitzaria Baliabide Zerbitzariak fidagarria den hirugarrenen zerbitzu bat izan daiteke.

Orain OAuth 2.0-ren oinarrizko kontzeptuak estali ditugula, itzul gaitezen gure adibidera eta ikus gaitezen OAuth fluxuan zer gertatzen den.

OAuth eta OpenID Connect-en gida ilustratua

  1. Zuk, Baliabideen jabea, Terrible Pun of the Day zerbitzua eman nahi duzu (Bezeroy) zure kontaktuetara sarbidea, lagun guztiei gonbidapenak bidal ditzaten.
  2. Bezero nabigatzailea orrialdera birbideratzen du Baimen zerbitzaria'a eta sartu kontsultan Bezeroaren IDa, Birbideratu URIa, Erantzun Mota eta bat edo gehiago Esparru (baimenak) behar ditu.
  3. Baimen zerbitzaria egiaztatzen zaitu, behar izanez gero erabiltzaile-izena eta pasahitza eskatuz.
  4. Baimen zerbitzaria formulario bat erakusten du Baimena (baieztaketak) guztien zerrenda batekin Esparrueskatu Bezero'om. Ados edo uko egiten duzu.
  5. Baimen zerbitzaria gunera birbideratzen zaitu Bezero'a, erabiliz Birbideratu URIa elkarrekin Baimen Kodea (baimen-kodea).
  6. Bezero zuzenean komunikatzen da Baimen zerbitzaria'ohm (arakatzailea saihestuz Baliabideen jabea'a) eta segurtasunez bidaltzen du Bezeroaren IDa, Bezeroaren sekretua ΠΈ Baimen Kodea.
  7. Baimen zerbitzaria datuak egiaztatzen ditu eta honekin erantzuten du Sarbidea token'om (sarbide-tokena).
  8. Orain Bezero erabil ditzake Sarbidea token eskaera bat bidaltzeko baliabideen zerbitzaria kontaktuen zerrenda bat lortzeko.

Bezeroaren IDa eta Sekretua

Terrible Pun of the Day zure kontaktuetara sartzeko baimena eman baino askoz lehenago, Bezeroak eta Baimen Zerbitzariak lan-harremana ezarri zuten. Baimen zerbitzariak Bezeroaren IDa eta Bezeroaren sekretua sortu zituen (batzuetan deitzen da App IDa ΠΈ Aplikazioaren sekretua) eta bezeroari bidali zizkion OAuth-en elkarrekintza gehiago izateko.

OAuth eta OpenID Connect-en gida ilustratua
"-Kaixo! Zurekin lan egin nahiko nuke! - Noski, ez da arazorik! Hona hemen zure bezeroaren IDa eta sekretua!"

Izenak Bezeroaren sekretua sekretupean gorde behar dela adierazten du, Bezeroek eta Baimen Zerbitzariek bakarrik jakin dezaten. Azken finean, bere laguntzarekin Baimen Zerbitzariak Bezeroaren egia baieztatzen du.

Baina hori ez da guztia... Mesedez, ongi etorria OpenID Connect!

OAuth 2.0 horretarako soilik diseinatuta dago baimena - Datu eta funtzioetarako sarbidea eskaintzeko aplikazio batetik bestera. OpenID Connect (OIDC) OAuth 2.0-ren gainean dagoen geruza mehe bat da, eta kontuan saioa hasita dagoen erabiltzailearen saio-hasiera eta profilaren xehetasunak gehitzen ditu. Saioa hasteko saio baten antolakuntzari askotan esaten zaio autentifikazioa [autentifikazioa], eta sisteman saioa hasitako erabiltzaileari buruzko informazioa (hau da Baliabideen jabea'e), - datu pertsonalak [identitatea]. Baimen zerbitzariak OIDC onartzen badu, batzuetan bezala aipatzen da datu pertsonalen hornitzailea [identitate hornitzailea]ematen duelako Bezero' buruzko informazioa eduki Baliabideen jabea'e.

OpenID Connect-ek aplikazio anitzetan saio-hasiera bakarra erabil daitekeen eszenatokiak inplementatzeko aukera ematen du saioa bakarra (SSO). Adibidez, aplikazio batek Facebook edo Twitter bezalako sare sozialekin SSO integratzea onar dezake, erabiltzaileek dagoeneko duten eta erabili nahiago duten kontu bat erabiltzeko aukera emanez.

OAuth eta OpenID Connect-en gida ilustratua

OpenID Connect fluxua (fluxua) OAuth-en kasuan bezalakoa da. Desberdintasun bakarra eskaera nagusian erabiltzen den esparru zehatza da openid,-A Bezero azkenean gustatzen zaio Sarbidea tokenEta ID Tokena.

OAuth eta OpenID Connect-en gida ilustratua

OAuth fluxuan bezala, Sarbidea token OpenID Connect-en, hau argi ez dagoen balio bat da Bezero'at. Ikuspuntutik Bezero'a Sarbidea token Eskaera bakoitzarekin batera pasatzen den karaktere-kate bat adierazten du baliabideen zerbitzaria'y, tokena baliozkoa den ala ez zehazten duena. ID Tokena gauza guztiz ezberdina adierazten du.

ID Token JWT bat da

ID Tokena JSON Web Token edo JWT izenez ezagutzen den karaktere kate berezi bat da (batzuetan JWT tokenak "jots" bezala ahoskatzen dira). Kanpoko behatzaileentzat, JWT ulertezina den ulergaitza irudituko zaio, baina Bezero JWT-tik hainbat informazio atera dezake, hala nola ID, erabiltzaile-izena, saioa hasteko ordua, iraungitze-data ID Tokena'a, JWT oztopatzeko saiakerak egotea. Datuak barruan ID Tokena'a deitzen dira aplikazioak [erreklamazioak].

OAuth eta OpenID Connect-en gida ilustratua

OIDC-ren kasuan, modu estandar bat ere badago Bezero pertsonari buruzko informazio gehigarria eska dezake [identitatea] tik Baimen zerbitzaria'a, adibidez, helbide elektroniko bat erabiliz Sarbidea token.

Lortu informazio gehiago OAuth eta OIDC-i buruz

Beraz, laburki berrikusi dugu nola funtzionatzen duten OAuth eta OIDC. Sakontzeko prest? Hona hemen baliabide gehigarriak OAuth 2.0 eta OpenID Connect-i buruz gehiago jakiteko:

Beti bezala, lasai iruzkintzen. Gure azken berrien berri izateko, harpidetu zaitez Twitter ΠΈ YouTube Okta garatzaileentzat!

PS itzultzailetik

Irakurri ere gure blogean:

Iturria: www.habr.com

Gehitu iruzkin berria