Tusaha la sawiran ee OAuth iyo OpenID Connect

Ogow. turjumiMaqaalkan weyn ee Okta wuxuu sharxayaa sida OAuth iyo OIDC (OpenID Connect) u shaqeeyaan si fudud oo cad. Aqoontaani waxay faa'iido u yeelan doontaa horumarinta, maamulayaasha nidaamka, iyo xitaa "isticmaalayaasha joogtada ah" ee codsiyada shabakada caanka ah, kuwaas oo ay u badan tahay inay sidoo kale ku beddelaan xogta sirta ah adeegyada kale.

Xilligii Stone Age ee Internetka, wadaagista macluumaadka u dhexeeya adeegyada ayaa ahaa mid sahlan. Waxaad si fudud u siisay galitaankaaga iyo furahaaga hal adeeg oo aad u dhiibtay adeeg kale, si uu akoonkaaga u galo oo uu u helo macluumaad kasta oo uu u baahan yahay.

Tusaha la sawiran ee OAuth iyo OpenID Connect
"Isii akoonkaaga bangiga." "Waxaan ballan qaadaynaa in wax walba ay ku fiicnaan doonaan erayga sirta ah iyo lacagta. Taasi waa daacad, daacad ah!" *hee hee*

Naxdin! Qofna waa inuusan waligiis uga baahnayn isticmaale inuu wadaago magaca isticmaalaha iyo erayga sirta ah, aqoonsiga, oo leh adeeg kale. Ma jirto dammaanad qaad ah in ururka ka dambeeya adeeggan uu ilaalin doono xogta oo aanu ururin doonin macluumaad shakhsiyeed oo ka badan intii loo baahnaa. Waxa laga yaabaa inay u ekaato waali, laakiin abka qaar ayaa wali isticmaala dhaqankan!

Maanta waxaa jira hal halbeeg oo u oggolaanaya hal adeeg inuu si ammaan ah u isticmaalo xogta kale. Nasiib darro, halbeegyadan oo kale waxay adeegsadaan erayo iyo erayo badan, taasoo adkeynaysa fahamkooda. Ujeedada qalabkani waa in la sharaxo sida ay u shaqeeyaan iyada oo la adeegsanayo sawirro fudud (Ma u malaynaysaa in sawiradaydu ay u eg yihiin dharbaaxada carruurta? Oh si fiican!).

Tusaha la sawiran ee OAuth iyo OpenID Connect

Jid ahaan, hagahan sidoo kale waxaa lagu heli karaa qaab muuqaal ah:

Mudanayaal iyo marwooyin, soo dhawaada: OAuth 2.0

OAuth 2.0 waa halbeeg ammaan oo u oggolaanaya hal codsi inuu helo oggolaansho si uu u galo macluumaadka codsi kale. Tilaabooyinka isku xigxiga ee bixinta ogolaanshaha [ogolaansho] (ama ogolaansho [oggolaanshaha]) inta badan wac oggolaansho [ogolaansho] ama xataa oggolaansho loo igmaday [ogolaansho la wakiishay]. Heerkan, waxaad u oggolaanaysaa codsi inuu akhriyo xogta ama isticmaalo hawlaha codsi kale isagoo ku hadlaya magacaaga adoon siin eraygaaga sirta ah. Fasalka!

Tusaale ahaan, aan nidhaahno waxaad heshay goob la yiraahdo "Unlucky Pun of the Day" [Footka xun ee maalinta] waxayna go'aansadeen in ay iska diwaan galiyaan si ay maalin walba u helaan ciqaabaha fariimaha qoraalka ah ee telefoonka. Runtii aad baad u jeclayd goobta, oo waxaad go'aansatay inaad la wadaagto dhammaan asxaabtaada. Ka dib oo dhan, qof kastaa wuxuu jecel yahay ereyada naxdinta leh, sax?

Tusaha la sawiran ee OAuth iyo OpenID Connect
"Nasiib darro xun ee maalinta: Ma maqlay nin ka lumay qaybta bidix ee jidhkiisa? Hadda isagu had iyo jeer waa sax!” (turjumaad qiyaas ah, sababtoo ah asalku wuxuu leeyahay dhib u gaar ah - qiyaastii. transl.)

Way caddahay in qof kasta loo qoro liiska xidhiidhka aanay ahayn ikhtiyaar. Oo, haddii aad xitaa wax yar aniga oo kale tahay, markaa waxaad aadi doontaa dherer kasta si aad uga fogaato shaqo aan loo baahnayn. Nasiib wanaag, Pun of the Day ee laga cabsado ayaa keligiis ku martiqaadi kara dhammaan asxaabtaada! Si tan loo sameeyo, kaliya waxaad u baahan tahay inaad furto gelitaanka iimaylka xiriiradaada - goobta lafteeda ayaa u soo diri doonta martiqaadyo (xeerarka OAuth)!

Tusaha la sawiran ee OAuth iyo OpenID Connect
"Qof walba wuxuu jecel yahay ciqaabta! - Durba ma soo gashay? "Ma jeclaan lahayd inaad u ogolaato website-ka xun ee Pun ee Maalinta inuu galo liiskaaga xiriirka? - Mahadsanid! Hadda wixii ka dambeeya, waxaan maalin kasta u soo diri doonaa xusuusin qof kasta oo aad taqaan, ilaa dhammaadka wakhtiga! Waxaad tahay saaxiibka ugu fiican!"

  1. Dooro adeegga iimaylka.
  2. Haddii loo baahdo, tag goobta boostada oo gal akoonkaaga.
  3. Sii Pun of the Day Ogolaansho si aad u gasho xiriiradaada.
  4. Ku Soo Laab Ciqaabta Xun Ee Goobta Maalinta.

Haddii ay dhacdo inaad bedesho maskaxdaada, codsiyada isticmaalaya OAuth waxay sidoo kale ku siinayaan hab aad ugala noqoto gelitaanka. Markaad go'aansato inaadan rabin inaad la wadaagto xiriirada xun ee maalinta, waxaad tagi kartaa goobta boostada oo aad ka saartaa goobta ciqaabta liiska codsiyada la oggolaaday.

Socodka OAuth

Waxaan hadda soo marnay waxa loo yaqaanno socodka [socodka] OAuth Tusaalaheena, socodkani wuxuu ka kooban yahay tillaabooyin muuqda, iyo sidoo kale dhowr tillaabo oo aan muuqan, kuwaas oo laba adeeg ay ku heshiiyaan xog is dhaafsi sugan. Tusaalaha xun xun ee hore ee maalinta ayaa isticmaala socodka OAuth 2.0 ee ugu caansan, oo loo yaqaan socodka "code ogolaanshaha". [" code ogolaanshaha" socodka].

Kahor intaanan u galin faahfaahinta sida OAuth u shaqeyso, aan ka hadalno macnaha erayada qaar:

  • Mulkiilaha Khayraadka:

    Tusaha la sawiran ee OAuth iyo OpenID Connect

    Waa adiga! Waxaad leedahay aqoonsigaaga, xogtaada, oo aad maamusho dhammaan hawlaha laga yaabo in lagu sameeyo akoonnadaada.

  • Client:

    Tusaha la sawiran ee OAuth iyo OpenID Connect

    Codsi (tusaale ahaan, adeega maalinta ee laga cabsado) kaas oo raba inuu galo ama sameeyo falalka qaarkood isagoo ka wakiil ah Mulkiilaha Khayraadka'a.

  • Adeegaha Oggolaanshaha:

    Tusaha la sawiran ee OAuth iyo OpenID Connect

    Appka yaqaan Mulkiilaha Khayraadka'a iyo taas oo aad Mulkiilaha KhayraadkaAkoon hore u lahaa.

  • server khayraadka:

    Tusaha la sawiran ee OAuth iyo OpenID Connect

    Interface Programming Interface (API) ama adeeg kaas Client raba inuu u isticmaalo magaca Mulkiilaha Khayraadka'a.

  • Dib u jiheynta URI:

    Tusaha la sawiran ee OAuth iyo OpenID Connect

    Xidhiidhka in Adeegaha Oggolaanshaha dib u jihayn doonaa Mulkiilaha Khayraadkaiyo ka dib bixinta ogolaanshaha Client'iyo Waxaa mararka qaarkood loo yaqaan "URL soo celinta".

  • Nooca Jawaabta:

    Tusaha la sawiran ee OAuth iyo OpenID Connect

    Nooca macluumaadka la filayo in la helo Client. Inta badan Nooca Jawaabta'Ohm waa code, taasi waa Client filaya in uu helo Xeerka Oggolaanshaha.

  • Baaxadda:

    Tusaha la sawiran ee OAuth iyo OpenID Connect

    Tani waa sharaxaad faahfaahsan oo ku saabsan ogolaanshaha loo baahan yahay Client'y, sida helitaanka xogta ama samaynta falalka qaarkood.

  • Oggolaanshaha:

    Tusaha la sawiran ee OAuth iyo OpenID Connect

    Adeegaha Oggolaanshaha qaadataa Meelahacodsaday Client'om, oo weyddiinaysaa Mulkiilaha Khayraadkaa, diyaar ma u yahay inuu bixiyo ClientHayso ogolaanshaha ku haboon

  • Aqoonsiga Macaamilka:

    Tusaha la sawiran ee OAuth iyo OpenID Connect

    Aqoonsigan waxa loo isticmaalaa in lagu aqoonsado Client' ku Adeegaha Oggolaanshaha'e.

  • Sirta Macaamiisha:

    Tusaha la sawiran ee OAuth iyo OpenID Connect

    Kani waa erayga sirta ah ee la yaqaan oo kaliya Client' iyo Adeegaha Oggolaanshaha'iyo Waxay u ogolaataa inay si gaar ah xogta u wadaagaan.

  • Xeerka Oggolaanshaha:

    Tusaha la sawiran ee OAuth iyo OpenID Connect

    Koodh ku meel gaadh ah oo leh muddo gaaban oo ansax ah, kaas oo Client bixisaa Adeegaha Oggolaanshahay beddelkeeda Helitaanka Token.

  • Helitaanka Token:

    Tusaha la sawiran ee OAuth iyo OpenID Connect

    Furaha uu macmiilku isticmaali doono si uu ula xidhiidho server khayraadka'ah. Nooca calaamada ama kaadhka muhiimka ah ee bixiya ClientWaxaad u haysataa fasax aad ku codsato xogta ama aad ku samayso ficilada server khayraadkaAnoo ku hadlaya magacaaga.

tacliiq: Mararka qaarkood Server-ka Oggolaanshaha iyo Adeegga Kheyraadka waa isku mid. Si kastaba ha ahaatee, xaaladaha qaarkood, kuwani waxay noqon karaan servero kala duwan, xitaa haddii aysan ka tirsanayn isku urur. Tusaale ahaan, Adeegga Oggolaanshaha wuxuu noqon karaa adeeg dhinac saddexaad ah oo uu ku kalsoon yahay Server-ka Kheyraadka.

Hadda oo aan daboolnay fikradaha asaasiga ah ee OAuth 2.0, aan ku noqonno tusaalaheenna oo aan si dhow u eegno waxa ka dhacaya socodka OAuth.

Tusaha la sawiran ee OAuth iyo OpenID Connect

  1. Adiga, Mulkiilaha Khayraadka, waxaad doonaysaa inaad bixiso adeega maalinta ee xunClienty) marin u helka xidhiidhadaada si ay martiqaadyo ugu soo diraan dhammaan asxaabtaada.
  2. Client browserka u jiheeya bogga Adeegaha Oggolaanshaha'a oo ku dar su'aasha Aqoonsiga Macaamilka, Dib u jiheynta URI, Nooca Jawaabta iyo mid ama ka badan Meelaha (ogolaansho) waxay u baahan tahay.
  3. Adeegaha Oggolaanshaha ku xaqiijinayaa, ku weydiinaya isticmaale-magaciisa iyo erayga sirta ah haddii loo baahdo.
  4. Adeegaha Oggolaanshaha soo bandhigaya foom Oggolaanshaha (xaqiijinta) oo leh liis dhan Meelahacodsaday Client'ah. Waad ogolaatay ama diiday.
  5. Adeegaha Oggolaanshaha ku jiheeyo goobta Clienta, isticmaalaya Dib u jiheynta URI wada jir Xeerka Oggolaanshaha (koodka oggolaanshaha).
  6. Client toos ula xidhiidha Adeegaha Oggolaanshaha"Ohm" (oo ka gudbaya browserka Mulkiilaha Khayraadka'a) oo si badbaado leh u diro Aqoonsiga Macaamilka, Sirta Macaamiisha ΠΈ Xeerka Oggolaanshaha.
  7. Adeegaha Oggolaanshaha hubi xogta oo ku jawaabaa Helitaanka Token'Om (access token).
  8. Hadda Client isticmaali kartaa Helitaanka Token in codsi loo diro server khayraadka si aad u hesho liiska xiriirada.

Aqoonsiga macmiilka iyo sirta

Muddo dheer ka hor inta aanad u oggolaan Pun of the Day si aad u gasho xidhiidhadaada, Macmiilka iyo Adeegaha Oggolaanshaha waxay sameeyeen xidhiidh shaqo. Adeegaha Oggolaanshaha waxa uu soo saaray Aqoonsiga Macmiilka iyo Sirta Macmiilka (mararka qaarkood waxaa loo yaqaan Aqoonsiga App ΠΈ Sirta App-ka) oo u diray macmiilka si ay ula falgalaan gudaha OAuth.

Tusaha la sawiran ee OAuth iyo OpenID Connect
"- Hello! Waxaan jeclaan lahaa inaan kula shaqeeyo! Hubaal, dhib maaha! Waa kan aqoonsigaaga macmiilka iyo sirtaada!”

Magaca ayaa tilmaamaya in sirta macmiilka ay tahay in la xafido si ay u ogaadaan macmiilka iyo Adeegga Oggolaanshaha. Ka dib oo dhan, waa isaga oo kaashanaya in Adeegga Oggolaanshaha uu xaqiijiyo runta macmiilka.

Laakin intaas kaliya maaha... Fadlan soo dhawoow ku xidhidhiyaha OpenID!

OAuth 2.0 waxa kaliya loogu talagalay oggolaansho - si ay u bixiyaan helitaanka xogta iyo hawlaha hal codsi oo kale. OpenID Xiriir (OIDC) waa lakab khafiif ah oo ku yaal dusha sare ee OAuth 2.0 kaas oo ku daraya galitaanka iyo faahfaahinta astaanta isticmaalaha ee saxeexay koontada. Abaabulka kalfadhiga gelitaanka waxa inta badan loo tixraacaa sida xaqiijin [xaqiijin], iyo macluumaadka ku saabsan isticmaalaha galay nidaamka (ie ku saabsan Mulkiilaha Khayraadkae), - xogta shakhsi ahaaneed [aqoonsiga]. Haddii Adeegaha Oggolaanshaha uu taageero OIDC, waxaa mararka qaarkood loo tixraacaa sida bixiyaha xogta shakhsi ahaaneed [Aqoonsiga Bixiyaha]sababtoo ah waxay bixisaa Client' xog ka hay Mulkiilaha Khayraadka'e.

Isku xirka OpenID wuxuu kuu ogolaanayaa inaad hirgeliso xaalado halkaas oo hal gelitaan loo isticmaali karo codsiyo badan - habkan waxaa sidoo kale loo yaqaannaa. hal-saxiix (SSO). Tusaale ahaan, codsigu waxa uu taageeri karaa is dhexgalka SSO ee shabakadaha bulshada sida Facebook ama Twitter, taas oo u oggolaanaysa isticmaalayaasha inay isticmaalaan akoon ay hore u lahaayeen oo ay doorbidaan inay isticmaalaan.

Tusaha la sawiran ee OAuth iyo OpenID Connect

Qulqulka (qulqulka) Xidhiidhka Aqoonsiga OpenID wuxuu u eg yahay kiiskii OAuth. Farqiga kaliya ayaa ah in codsiga aasaasiga ah, baaxadda gaarka ah ee la isticmaalo ay tahay openid, - A Client aakhirka waa sida Helitaanka Token, iyo Aqoonsiga Aqoonsiga.

Tusaha la sawiran ee OAuth iyo OpenID Connect

Sida socodka OAuth, Helitaanka Token gudaha OpenID Connect, tani waa xoogaa qiimo ah oo aan caddayn Client'iyo Dhanka aragtida Clientβ€˜Π° Helitaanka Token waxay ka dhigan tahay xarfo xarfo ah oo la gudbiyo codsi kasta server khayraadka'y, kaas oo go'aaminaya haddii calaamaduhu sax tahay. Aqoonsiga Aqoonsiga waxay ka dhigan tahay wax gebi ahaanba ka duwan.

ID Token waa JWT

Aqoonsiga Aqoonsiga waa xarfo si gaar ah loo qaabeeyey oo loo yaqaan JSON Web Token ama JWT (mararka qaar calaamadaha JWT waxaa loogu dhawaaqaa "jots"). Kormeerayaasha dibadda, JWT waxay u ekaan kartaa gibberish aan la fahmi karin, laakiin Client wuxuu ka soo saari karaa macluumaad kala duwan JWT, sida aqoonsiga, magaca isticmaalaha, wakhtiga akoontiga la galo, taariikhda uu dhacayo Aqoonsiga Aqoonsigaa, joogitaanka isku dayga lagu faragalinayo JWT. Xogta gudaha Aqoonsiga Aqoonsiga'a ayaa lagu magacaabaa codsiyada [sheegasho].

Tusaha la sawiran ee OAuth iyo OpenID Connect

Marka laga hadlayo OIDC, waxa kale oo jira hab caadi ah oo loo maro Client waxa laga yaabaa inay codsato macluumaad dheeraad ah oo ku saabsan shakhsiga [aqoonsiga] ka Adeegaha Oggolaanshahaa, tusaale ahaan, ciwaanka iimaylka oo isticmaalaya Helitaanka Token.

Wax badan ka baro OAuth iyo OIDC

Markaa, waxaanu si kooban u eegnay sida ay OAuth iyo OIDC u shaqeeyaan. Diyaar ma u tahay inaad qoddo hoose? Halkan waxaa ah ilo dheeraad ah si ay kaaga caawiyaan inaad wax badan ka barato OAuth 2.0 iyo OpenID Connect:

Sida had iyo jeer, xor u tahay inaad faallo ka bixiso. Si aad ula socoto wararkayaga dambe, subscribe dheh Twitter ΠΈ YouTube Okta ee horumariyeyaasha!

PS ka turjumaan

Sidoo kale ka akhri boggayaga:

Source: www.habr.com

Add a comment