Itọsọna Alaworan si OAuth ati OpenID Sopọ

Akiyesi. itumọ.Nkan nla yii nipasẹ Okta ṣe alaye bi OAuth ati OIDC (OpenID Connect) ṣe n ṣiṣẹ ni ọna ti o rọrun ati ti o han gbangba. Imọye yii yoo wulo fun awọn olupilẹṣẹ, awọn oludari eto, ati paapaa “awọn olumulo deede” ti awọn ohun elo wẹẹbu olokiki, eyiti o ṣee ṣe pupọ julọ tun paarọ data asiri pẹlu awọn iṣẹ miiran.

Ni Stone-ori ti Intanẹẹti, pinpin alaye laarin awọn iṣẹ rọrun. O kan fun iwọle ati ọrọ igbaniwọle rẹ lati iṣẹ kan si ekeji, nitorinaa o tẹ akọọlẹ rẹ sii ati gba alaye eyikeyi ti o nilo.

Itọsọna Alaworan si OAuth ati OpenID Sopọ
"Fun mi ni akọọlẹ banki rẹ." “A ṣe ileri pe ohun gbogbo yoo dara pẹlu ọrọ igbaniwọle ati owo. Iyẹn jẹ ooto, ooto!” *hee hee*

Ibanuje! Ko si ẹnikan ti o yẹ ki olumulo kan pin orukọ olumulo ati ọrọ igbaniwọle lailai, awọn iwe-ẹri, pẹlu iṣẹ miiran. Ko si iṣeduro pe ajo ti o wa lẹhin iṣẹ yii yoo tọju data naa ni aabo ati pe kii yoo gba alaye ti ara ẹni diẹ sii ju iwulo lọ. O le dun irikuri, ṣugbọn diẹ ninu awọn lw tun lo iṣe yii!

Loni boṣewa kan wa ti o fun laaye iṣẹ kan lati lo data ti omiiran ni aabo. Laanu, iru awọn iṣedede lo ọpọlọpọ awọn jargon ati awọn ofin, eyiti o ṣe idiju oye wọn. Idi ti ohun elo yii ni lati ṣe alaye bi wọn ṣe n ṣiṣẹ nipa lilo awọn apejuwe ti o rọrun (Ṣe o ro pe awọn yiya mi jọra daubing awọn ọmọde? O dara!).

Itọsọna Alaworan si OAuth ati OpenID Sopọ

Nipa ọna, itọsọna yii tun wa ni ọna kika fidio:

Arabinrin ati awọn okunrin, kaabo: OAuth 2.0

OAuth 2.0 jẹ boṣewa aabo ti o fun laaye ohun elo kan lati gba igbanilaaye lati wọle si alaye ninu ohun elo miiran. Ọkọọkan awọn igbesẹ fun ipinfunni iyọọda [igbanilaaye] (tabi igbanilaaye [ìyọ̀ǹda]) nigbagbogbo pe aṣẹ [aṣẹ] tabi koda iwe-aṣẹ aṣoju [aṣoju aṣẹ]. Pẹlu boṣewa yii, o gba ohun elo laaye lati ka data tabi lo awọn iṣẹ ti ohun elo miiran fun ọ laisi fifun ni ọrọ igbaniwọle rẹ. Kilasi!

Fun apẹẹrẹ, jẹ ki a sọ pe o ṣawari aaye kan ti a pe ni "Punlucky Pun of the Day" [Pun to buruju ti Ọjọ] o si pinnu lati forukọsilẹ lori rẹ lati le gba awọn puns ojoojumọ ni irisi awọn ifọrọranṣẹ lori foonu. O fẹran aaye naa gaan, ati pe o pinnu lati pin pẹlu gbogbo awọn ọrẹ rẹ. Lẹhinna, gbogbo eniyan fẹran awọn puns ti irako, otun?

Itọsọna Alaworan si OAuth ati OpenID Sopọ
“Ibanujẹ laanu ti ọjọ naa: Ṣe o gbọ nipa eniyan ti o padanu idaji apa osi ti ara rẹ? Bayi o jẹ ẹtọ nigbagbogbo! ” (itumọ isunmọ, nitori atilẹba naa ni pun tirẹ - isunmọ. transl.)

O han gbangba pe kikọ si eniyan kọọkan lati atokọ olubasọrọ kii ṣe aṣayan. Ati pe, ti o ba jẹ paapaa diẹ bi mi, lẹhinna o yoo lọ si awọn ipari eyikeyi lati yago fun iṣẹ ti ko wulo. O da, Ẹru Pun ti Ọjọ le pe gbogbo awọn ọrẹ rẹ funrararẹ! Lati ṣe eyi, o kan nilo lati ṣii iraye si imeeli awọn olubasọrọ rẹ - aaye naa funrararẹ yoo fi awọn ifiwepe ranṣẹ si wọn (awọn ofin OAuth)!

Itọsọna Alaworan si OAuth ati OpenID Sopọ
“Gbogbo eniyan nifẹ awọn puns! - Tẹlẹ ibuwolu wọle ni? “Ṣe iwọ yoo fẹ lati gba Pun Pun ti oju opo wẹẹbu Ọjọ laaye lati wọle si atokọ olubasọrọ rẹ? - E dupe! Lati isisiyi lọ, a yoo firanṣẹ awọn olurannileti lojoojumọ si gbogbo eniyan ti o mọ, titi di opin akoko! Iwọ ni ọrẹ to dara julọ!"

  1. Yan iṣẹ imeeli rẹ.
  2. Ti o ba jẹ dandan, lọ si aaye meeli ati wọle si akọọlẹ rẹ.
  3. Fun Pun Pun ti Ọjọ ni igbanilaaye lati wọle si awọn olubasọrọ rẹ.
  4. Pada si Ẹru Pun ti aaye Ọjọ.

Ni irú ti o ba yi ọkan rẹ pada, awọn ohun elo lilo OAuth tun pese ọna lati fagilee iwọle. Ni kete ti o pinnu pe o ko fẹ lati pin awọn olubasọrọ pẹlu Ẹru Pun ti Ọjọ naa, o le lọ si aaye meeli ati yọ aaye pun kuro ninu atokọ awọn ohun elo ti a fun ni aṣẹ.

OAuth Sisan

A ṣẹṣẹ kọja nipasẹ ohun ti a n pe ni igbagbogbo sisan [sisan] OAuth. Ninu apẹẹrẹ wa, ṣiṣan yii ni awọn igbesẹ ti o han, ati ọpọlọpọ awọn igbesẹ alaihan, ninu eyiti awọn iṣẹ meji gba lori paṣipaarọ aabo alaye. Pun Ẹru ti tẹlẹ ti apẹẹrẹ Ọjọ naa nlo ṣiṣan OAuth 2.0 ti o wọpọ julọ, ti a mọ si ṣiṣan “koodu aṣẹ”. ["koodu igbaṣẹ" sisan].

Ṣaaju ki o to omiwẹ sinu awọn alaye ti bii OAuth ṣe n ṣiṣẹ, jẹ ki a sọrọ nipa itumọ awọn ofin kan:

  • Awọn oluşewadi eni:

    Itọsọna Alaworan si OAuth ati OpenID Sopọ

    Iwọ ni! O ni awọn iwe-ẹri rẹ, data rẹ, ati ṣakoso gbogbo awọn iṣe ti o le ṣe lori awọn akọọlẹ rẹ.

  • Ni ose:

    Itọsọna Alaworan si OAuth ati OpenID Sopọ

    Ohun elo kan (fun apẹẹrẹ, Ẹru Pun ti iṣẹ Ọjọ) ti o fẹ wọle tabi ṣe awọn iṣe kan ni ipo ti Awọn oluşewadi eni'a.

  • Olupin aṣẹ:

    Itọsọna Alaworan si OAuth ati OpenID Sopọ

    Ohun elo ti o mọ Awọn oluşewadi eni'a ati ninu eyiti u Awọn oluşewadi eni'A ti ni iroyin tẹlẹ.

  • olupin oluşewadi:

    Itọsọna Alaworan si OAuth ati OpenID Sopọ

    Ohun elo siseto ni wiwo (API) tabi iṣẹ ti o Ni ose fẹ lati lo lori dípò Awọn oluşewadi eni'a.

  • Àtúnjúwe URI:

    Itọsọna Alaworan si OAuth ati OpenID Sopọ

    Ọna asopọ pe Olupin aṣẹ yoo àtúnjúwe Awọn oluşewadi eni'ati lẹhin fifun aiye Ni ose'ati. Nigba miiran a ma tọka si bi “URL ẹhin-ipe”.

  • Iru Idahun:

    Itọsọna Alaworan si OAuth ati OpenID Sopọ

    Iru alaye ti a nireti lati gba Ni ose. O wọpọ julọ Iru Idahun'Ohm ni koodu, iyẹn ni Ni ose nireti lati gba Aṣẹ Aṣẹ.

  • dopin:

    Itọsọna Alaworan si OAuth ati OpenID Sopọ

    Eyi jẹ apejuwe alaye ti awọn igbanilaaye ti o nilo Ni ose'y, gẹgẹbi iraye si data tabi ṣiṣe awọn iṣe kan.

  • èrò:

    Itọsọna Alaworan si OAuth ati OpenID Sopọ

    Olupin aṣẹ gba to Scopesbeere Ni ose'om, o si beere Awọn oluşewadi eni'a, ni o setan lati pese Ni ose'ni awọn igbanilaaye ti o yẹ.

  • ID alabara:

    Itọsọna Alaworan si OAuth ati OpenID Sopọ

    ID yii ni a lo lati ṣe idanimọ Ni ose'a lori Olupin aṣẹ'e.

  • Asiri Onibara:

    Itọsọna Alaworan si OAuth ati OpenID Sopọ

    Eyi ni ọrọ igbaniwọle ti a mọ nikan Ni ose'u ati Olupin aṣẹ'ati. O gba wọn laaye lati pin alaye ni ikọkọ.

  • Aṣẹ Aṣẹ:

    Itọsọna Alaworan si OAuth ati OpenID Sopọ

    Ibùgbé koodu pẹlu kukuru akoko ti Wiwulo, eyi ti Ni ose pese Olupin aṣẹ'y ni paṣipaarọ fun Wọle si Iwọle.

  • Wọle si Iwọle:

    Itọsọna Alaworan si OAuth ati OpenID Sopọ

    Bọtini ti alabara yoo lo lati ṣe ibaraẹnisọrọ pẹlu olupin oluşewadi'om. Iru baaji tabi kaadi bọtini ti o pese Ni oseni igbanilaaye lati beere data tabi ṣe awọn iṣe lori olupin oluşewadi'e fun ọ.

Daakọ: Nigba miiran Olupin Aṣẹ ati Olupin orisun jẹ olupin kanna. Sibẹsibẹ, ni awọn igba miiran, awọn wọnyi le jẹ awọn olupin ti o yatọ, paapaa ti wọn ko ba jẹ ti ajo kanna. Fun apẹẹrẹ, Olupin Aṣẹ le jẹ iṣẹ ẹnikẹta ti o gbẹkẹle nipasẹ Olupin orisun.

Ni bayi ti a ti bo awọn imọran pataki ti OAuth 2.0, jẹ ki a pada si apẹẹrẹ wa ki a ṣe akiyesi ohun ti o ṣẹlẹ ni ṣiṣan OAuth.

Itọsọna Alaworan si OAuth ati OpenID Sopọ

  1. Iwọ, Awọn oluşewadi eni, o fẹ lati pese Ẹru Pun ti Iṣẹ Ọjọ (Ni osey) wọle si awọn olubasọrọ rẹ ki wọn le fi awọn ifiwepe ranṣẹ si gbogbo awọn ọrẹ rẹ.
  2. Ni ose darí ẹrọ aṣawakiri si oju-iwe naa Olupin aṣẹ'a ati pẹlu ninu ibeere ID alabara, Àtúnjúwe URI, Iru Idahun ati ọkan tabi diẹ ẹ sii Scopes (awọn igbanilaaye) o nilo.
  3. Olupin aṣẹ jẹrisi rẹ, beere fun orukọ olumulo ati ọrọ igbaniwọle ti o ba jẹ dandan.
  4. Olupin aṣẹ ṣe afihan fọọmu kan èrò (ìmúdájú) pẹlu akojọ kan ti gbogbo Scopesbeere Ni ose'om. O gba tabi kọ.
  5. Olupin aṣẹ darí o si ojula Ni osea, lilo Àtúnjúwe URI pelu Aṣẹ Aṣẹ (koodu aṣẹ).
  6. Ni ose ibaraẹnisọrọ taara pẹlu Olupin aṣẹ'ohm (nipasẹ ẹrọ aṣawakiri naa Awọn oluşewadi eni'a) ati firanṣẹ lailewu ID alabara, Asiri Onibara и Aṣẹ Aṣẹ.
  7. Olupin aṣẹ sọwedowo awọn data ati idahun pẹlu Wọle si Iwọle'om (àmi wiwọle).
  8. Bayi Ni ose le lo Wọle si Iwọle lati fi ase si olupin oluşewadi lati gba akojọ awọn olubasọrọ.

Onibara ID ati Asiri

Ni pipẹ ṣaaju ki o to gba Ẹru Pun ti Ọjọ laaye lati wọle si awọn olubasọrọ rẹ, Onibara ati Olupin Aṣẹ ti ṣe agbekalẹ ibatan iṣẹ kan. Olupin Aṣẹ ṣe ipilẹṣẹ ID Onibara ati Aṣiri Onibara (nigbakan ti a pe ID ID и App Asiri) o si fi wọn ranṣẹ si Onibara fun ibaraenisepo siwaju laarin OAuth.

Itọsọna Alaworan si OAuth ati OpenID Sopọ
"- Pẹlẹ o! Emi yoo fẹ lati ṣiṣẹ pẹlu rẹ! - Dajudaju, kii ṣe iṣoro! Eyi ni ID Onibara rẹ ati Aṣiri!”

Orukọ naa tumọ si pe Aṣiri Onibara gbọdọ wa ni ipamọ ki Onibara ati Olupin Aṣẹ nikan mọ ọ. Lẹhinna, o jẹ pẹlu iranlọwọ rẹ pe Olupin Aṣẹ jẹri otitọ ti Onibara naa.

Ṣugbọn iyẹn kii ṣe gbogbo rẹ... Jọwọ kaabo OpenID Connect!

OAuth 2.0 jẹ apẹrẹ fun nikan aṣẹ - lati pese iraye si data ati awọn iṣẹ lati ohun elo kan si omiiran. Asopọ OpenID (OIDC) jẹ fẹlẹfẹlẹ tinrin lori oke OAuth 2.0 ti o ṣafikun wiwọle ati awọn alaye profaili ti olumulo ti o wọle sinu akọọlẹ naa. Eto igba iwọle ni igbagbogbo tọka si bi ìfàṣẹsí [ijẹrisi], ati alaye nipa olumulo wọle sinu eto (ie nipa Awọn oluşewadi enie), - ti ara ẹni data [idanimọ]. Ti Olupin Aṣẹ ba ṣe atilẹyin OIDC, o ma tọka si bi olupese ti ara ẹni data [olupese idanimọ]nitori o pese Ni ose'ni alaye nipa Awọn oluşewadi eni'e.

OpenID Connect gba ọ laaye lati ṣe awọn oju iṣẹlẹ nibiti iwọle kan le ṣee lo ni awọn ohun elo lọpọlọpọ - ọna yii tun mọ bi ami-on nikan (SSO). Fun apẹẹrẹ, ohun elo le ṣe atilẹyin isọpọ SSO pẹlu awọn nẹtiwọọki awujọ bii Facebook tabi Twitter, gbigba awọn olumulo laaye lati lo akọọlẹ kan ti wọn ti ni tẹlẹ ati fẹ lati lo.

Itọsọna Alaworan si OAuth ati OpenID Sopọ

Ṣiṣan (sisan) OpenID Connect wulẹ kanna bi ninu ọran ti OAuth. Iyatọ kan ṣoṣo ni pe ni ibeere akọkọ, iwọn pato ti a lo ni openid,- A Ni ose bajẹ n bi Wọle si Iwọle, ati Aami ID.

Itọsọna Alaworan si OAuth ati OpenID Sopọ

Gege bi ninu sisan OAuth, Wọle si Iwọle ni OpenID Connect, eyi ni diẹ ninu iye ti ko ṣe kedere Ni ose'ati. Lati ojuami ti wo Ni ose‘а Wọle si Iwọle duro a okun ti ohun kikọ silẹ ti o ti kọja pẹlú pẹlu kọọkan ìbéèrè lati olupin oluşewadi'y, eyiti o pinnu boya aami naa ba wulo. Aami ID duro a patapata ti o yatọ ohun.

ID Token jẹ JWT kan

Aami ID jẹ ọna kika pataki ti awọn kikọ ti a mọ si JSON Web Token tabi JWT (nigbakugba awọn ami JWT ni a sọ bi “awọn jots”). Si awọn alafojusi ita, JWT le dabi gibberish ti ko ni oye, ṣugbọn Ni ose le jade orisirisi alaye lati JWT, gẹgẹ bi awọn ID, olumulo, akoko wiwọle, ipari ọjọ Aami ID'a, wiwa awọn igbiyanju lati dabaru pẹlu JWT. Data inu Aami ID'a ni a pe awọn ohun elo [awọn ẹtọ].

Itọsọna Alaworan si OAuth ati OpenID Sopọ

Ninu ọran ti OIDC, ọna boṣewa tun wa nipasẹ eyiti Ni ose le beere afikun alaye nipa ẹni kọọkan [idanimọ] lati Olupin aṣẹ'a, fun apẹẹrẹ, adirẹsi imeeli nipa lilo Wọle si Iwọle.

Kọ ẹkọ diẹ sii nipa OAuth ati OIDC

Nitorinaa, a ṣe atunyẹwo ni ṣoki bi OAuth ati OIDC ṣe n ṣiṣẹ. Ṣetan lati ma wà jinle? Eyi ni awọn orisun afikun lati ṣe iranlọwọ fun ọ ni imọ siwaju sii nipa OAuth 2.0 ati OpenID Connect:

Bi nigbagbogbo, lero free lati ọrọìwòye. Lati tọju imudojuiwọn pẹlu awọn iroyin tuntun wa, ṣe alabapin si twitter и YouTube Okta fun kóòdù!

PS lati onitumọ

Ka tun lori bulọọgi wa:

orisun: www.habr.com

Fi ọrọìwòye kun