Rịba ama. ntụgharị asụsụ.: Nnukwu ederede sitere na Okta kọwara ka OAuth na OIDC (OpenID Connect) si arụ ọrụ n'ụzọ dị mfe ma doo anya. Ihe ọmụma a ga-aba uru nye ndị mmepe, ndị na-ahụ maka sistemụ, na ọbụna "ndị ọrụ oge niile" nke ngwa weebụ na-ewu ewu, ndị nwere ike iji ọrụ ndị ọzọ na-agbanwe data nzuzo.
Na "Nkume Age" nke ịntanetị, ikesa ozi n'etiti ọrụ dị mfe. Naanị ịnyefe nbanye na paswọọdụ gị site n'otu ọrụ gaa na nke ọzọ ka o wee banye na akaụntụ gị wee nweta ozi ọ bụla ọ chọrọ.

"Biko nye akaụntụ akụ gị." "Anyị na-ekwe nkwa na ihe niile ga-adị mma na paswọọdụ na ego. Nke ahụ bụ eziokwu n'ezie!” *hee hee*
jọgburu onwe ya! Ọ dịghị onye ga-achọ ka onye ọrụ kesaa aha njirimara na paswọọdụ; nzere, na ọrụ ọzọ. Enweghị nkwa na nzukọ dị n'azụ ọrụ a ga-echekwa data ma ghara ịnakọta ozi nkeonwe karịa ka ọ dị mkpa. Nke a nwere ike iyi ihe nzuzu, mana ụfọdụ ngwa ka na-eji omume a!
Taa, e nwere otu ọkọlọtọ na-enye ohere ka otu ọrụ jiri data nke ọzọ n'enweghị nsogbu ọ bụla. N'ụzọ dị mwute, ụkpụrụ ndị dị otú ahụ na-eji ọtụtụ jargon na okwu, nke na-eme ka ha sie ike nghọta. Ebumnuche nke ihe a bụ iji kọwaa site n'enyemaka nke ihe atụ dị mfe otú ha si arụ ọrụ (Ị chere na ihe osise m yiri ihe odide ụmụaka? Oh ọma!).

Site n'ụzọ, ntuziaka a dịkwa na usoro vidiyo:

Ụmụ nwanyị na ụmụnwaanyị, nnabata: OAuth 2.0
bụ ọkọlọtọ nchekwa na-enye ohere ka otu ngwa nweta ikike ịnweta ozi na ngwa ọzọ. Usoro omume maka ịnye ikike [ikike] (ma ọ bụ nkwenye [nkwenye]) na-akpọkarị ikike [ikike] ma ọ bụ ọbụna ikike ikike [ikike enyerela]. Site na ọkọlọtọ a, ị na-ahapụ ngwa ka ọ gụọ data ma ọ bụ jiri ọrụ nke ngwa ọzọ n'aha gị na-enyeghị ya paswọọdụ gị. Klas!
Dịka ọmụmaatụ, ka anyị kwuo na ị chọtara saịtị akpọrọ "Bad Pun of the Day" [Egwu nke ụbọchị ahụ] wee kpebie ịdebanye aha maka ya iji nweta puns kwa ụbọchị site na ozi ederede na ekwentị gị. Saịtị ahụ masịrị gị nke ukwuu wee kpebie ịkọrọ ya onye ọ bụla ị maara. A sị ka e kwuwe, onye ọ bụla na-ahụ egwu egwu dị egwu, nri?

"Ajọ okwu ọjọọ nke ụbọchị ahụ: Ị nụla maka nwoke ahụ furu n'akụkụ aka ekpe ya? Ugbu a ọ na-adị mma mgbe niile! " (nsụgharị dị ihe, n'ihi na nke mbụ nwere egwuregwu nke ya na okwu - approx. transl.)
O doro anya na idegara onye ọ bụla nọ na listi kọntaktị abụghị nhọrọ. Ma, ọ bụrụ na ị bụ ihe ọ bụla dị ka m, ị ga-eme mgbalị dị ukwuu iji zere ọrụ na-adịghị mkpa. Ọ dabara nke ọma, Terrible Pun of the Day nwere ike ịkpọ ndị enyi gị niile! Iji mee nke a, naanị ị ga-enye ya ohere ịnweta ozi ịntanetị kọntaktị gị - saịtị ahụ n'onwe ya ga-ezigara ha akwụkwọ ịkpọ òkù (iwu OAuth)!

"Onye ọ bụla na-amasị puns! - abanyelarị? - Ị chọrọ inye egwu Pun nke ụbọchị webụsaịtị ohere na ndepụta kọntaktị gị? - Daalụ! Site ugbu a gaa n'ihu, anyị ga na-eziga ncheta ụbọchị ọ bụla nye onye ọ bụla ị maara ruo na njedebe nke oge! Ị bụ ezigbo enyi!
- Họrọ ọrụ email gị.
- Ọ bụrụ na ọ dị mkpa, gaa na webụsaịtị ozi wee banye na akaụntụ gị.
- Nye Pun nke ụbọchị dị egwu ikike ịnweta kọntaktị gị.
- Laghachi na webụsaịtị dị egwu Pun nke ụbọchị.
Ọ bụrụ na ị gbanwee obi gị, ngwa ndị na-eji OAuth na-enyekwa ụzọ kagbuo ohere. Ozugbo i kpebiri na ịchọghịzi ịkekọrịta kọntaktị na Terrible Pun of the Day, ị nwere ike ịga na saịtị ozi wee wepụ saịtị ntụpọ na listi ngwa ikike gị.
OAuth eruba
Anyị ka agabigala ihe a na-akpọkarị eruba [na-asọpụta] OAuth. N'ihe atụ anyị, nke a na-asọpụta nwere usoro a na-ahụ anya, yana ọtụtụ usoro a na-adịghị ahụ anya, nke ọrụ abụọ kwenyere na ha gbanwere ozi na nzuzo. Ihe atụ jọgburu onwe ya gara aga na-eji ọsọ OAuth 2.0 na-ahụkarị, nke a maara dị ka “koodu ikike”. ["koodu ikike" eruba].
Tupu anyị banye n'ime nkọwa nke ka OAuth si arụ ọrụ, ka anyị kwuo maka nkọwa ụfọdụ okwu:
- Onye nwe akụrụngwa:

Ọ bụ gị! Ị nwere nzere gị, data gị ma jikwaa omume niile enwere ike ịme na akaụntụ gị. - Client:

Ngwa (dị ka egwu egwu Pun nke ụbọchị ọrụ) nke chọrọ ịnweta ma ọ bụ mee ụfọdụ omume n'aha Onye nwe akụrụngwa'A. - Ihe nkesa ikike:

Ngwa mara Onye nwe akụrụngwa'a na nke y Onye nwe akụrụngwama nweela akaụntụ. - Ihe nkesa akụrụngwa:

Ngwa mmemme interface (API) ma ọ bụ ọrụ na- Client chọrọ iji n'aha Onye nwe akụrụngwa'A. - Mbugharị URI:

Njikọ ebe Ihe nkesa ikike ga-redirect Onye nwe akụrụngwa'na mgbe inye ikike Client'u. A na-akpọ nke a mgbe ụfọdụ “URL kpọghachite”. - Ụdị nzaghachi:

Ụdị ozi a na-atụ anya ịnata Client. Kacha nkịtị Ụdị nzaghachi'om bụ koodu, ya bụ Client na-atụ anya ịnata Usoro ikike. - akporo:

Nke a bụ nkọwa zuru ezu nke ikike achọrọ Client'y, dị ka ịnweta data ma ọ bụ ime ụfọdụ omume. - nkwenye:

Ihe nkesa ikike ewe Na-ekpuchi, rịọrọ Client'om, na-ajụ Onye nwe akụrụngwa'ah, ọ dị njikere inye Client'nwere ikike kwesịrị ekwesị. - NJ ahịa:

A na-eji NJ a maka njirimara Client'na na Ihe nkesa ikike'e. - Ihe Nzuzo Ndị Ahịa:

Nke a bụ paswọọdụ mara naanị Client'u na Ihe nkesa ikike'u. Ọ na-enye ha ohere ịgbanwe ozi na nzuzo. - Usoro ikike:

Koodu nwa oge nwere obere oge nke ndaba, nke Client na-enye Ihe nkesa ikike'y n'ọnọdụ Nweta Token. - Nweta Token:

Igodo nke onye ahịa ga-eji na-ekwurịta okwu Ihe nkesa akụrụngwa'om. Ụdị baajị ma ọ bụ kaadị igodo na-enye Client'nweta ikike ịrịọ data ma ọ bụ mee ihe na ya Ihe nkesa akụrụngwa'E n'aha gị.
Примечание: Mgbe ụfọdụ, Server ikike na Resource Server bụ otu ihe nkesa. Agbanyeghị, n'ọnọdụ ụfọdụ ndị a nwere ike ịbụ sava dị iche iche, ọbụlagodi ndị na-abụghị otu nzukọ. Dịka ọmụmaatụ, ihe nkesa ikike nwere ike ịbụ ọrụ ndị ọzọ nke Sava Resource tụkwasịrị obi.
Ugbu a anyị maara nke ọma echiche bụ isi nke OAuth 2.0, ka anyị laghachi azụ n'ihe atụ anyị wee lebakwuo anya n'ihe na-eme n'ọsọ OAuth.

- Na, Onye nwe akụrụngwa, ọ ga-amasị gị ịnye ọrụ egwu egwu egwu Pun nke ụbọchị (Client'y) nweta kọntaktị gị ka o wee ziga ndị enyi gị niile akwụkwọ ịkpọ òkù.
- Client na-atụgharị ihe nchọgharị ahụ na ibe Ihe nkesa ikike'a na-agụnye na arịrịọ NJ ahịa, Mbugharị URI, Ụdị nzaghachi na otu ma ọ bụ karịa Na-ekpuchi (ikike) nke ọ chọrọ.
- Ihe nkesa ikike na-enyocha gị, na-arịọ maka nbanye na paswọọdụ gị ma ọ bụrụ na ọ dị mkpa.
- Ihe nkesa ikike na-egosiputa ụdị nkwenye (nkwenye) na ndepụta niile Na-ekpuchirịọrọ Client'om. Ị kwenyere ma ọ bụ jụ.
- Ihe nkesa ikike na-atụgharị gị na saịtị ahụ Client'a, eji Mbugharị URI yana Usoro ikike (koodu ikike).
- Client kọntaktị ozugbo Ihe nkesa ikike'om (na-agafe ihe nchọgharị ahụ Onye nwe akụrụngwa'a) ma na-eziga n'enweghị nsogbu NJ ahịa, Ihe Nzuzo Ndị Ahịa и Usoro ikike.
- Ihe nkesa ikike na-enyocha data ma jiri ya zaghachi Nweta Token'om ( nweta akara ngosi).
- Ugbu a Client nwere ike iji Nweta Token iziga arịrịọ Ihe nkesa akụrụngwa iji nweta ndepụta kọntaktị.
NJ ndị ahịa na nzuzo
Ogologo oge tupu ikwe ka egwu egwu ụbọchị nweta kọntaktị gị, Onye ahịa na ikike nkesa hiwere mmekọrịta na-arụ ọrụ. Ihe nkesa ikike mepụtara NJ ndị ahịa na nzuzo nke ndị ahịa (mgbe ụfọdụ a na-akpọ ID ID и Ngwa nzuzo) ma ziga ha na onye ahịa maka mmekọrịta ọzọ n'ime OAuth.

"- Nnọọ! Ọ ga-amasị m iso gị rụọ ọrụ! - N'ezie, ọ bụghị nsogbu! Nke a bụ ID onye ahịa gị na ihe nzuzo gị!”
Aha ahụ na-egosi na a ga-edobe nzuzo nzuzo ka naanị onye ahịa na ikike nkesa mara ya. A sị ka e kwuwe, ọ bụ site n'enyemaka ya ka ihe nkesa ikike na-egosi na onye ahịa ahụ bụ eziokwu.
Mana nke ahụ ọbụghị ebe niile... Biko sị ndewo maka njikọ OpenID!
Emebere OAuth 2.0 naanị maka ikike - inye ohere data na ọrụ site n'otu ngwa gaa na nke ọzọ. (OIDC) bụ obere oyi akwa dị n'elu OAuth 2.0 nke na-agbakwunye ozi nbanye na profaịlụ gbasara onye ọrụ abanyela na akaụntụ ahụ. A na-akpọkarị ịhazi oge nbanye nyocha [ngosipụta], na ozi gbasara onye ọrụ wee banye n'ime sistemụ (ie. Onye nwe akụrụngwae), - data nkeonwe [ njirimara]. Ọ bụrụ na ihe nkesa ikike na-akwado OIDC, a na-akpọ ya mgbe ụfọdụ onye na-eweta data [onye na-eweta njirimara]ebe ọ na-enye Client'y ozi gbasara Onye nwe akụrụngwa'e.
Jikọọ OpenID na-enye gị ohere imejuputa ọnọdụ ebe enwere ike iji otu nbanye n'ọtụtụ ngwa - a na-akpọkwa usoro a dị ka otu nbanye (SSO). Dịka ọmụmaatụ, ngwa nwere ike ịkwado njikọ SSO na netwọk mmekọrịta dị ka Facebook ma ọ bụ Twitter, na-enye ndị ọrụ ohere iji akaụntụ ha nwere na-ahọrọ iji.

Usoro OpenID Jikọọ na-adị ka nke OAuth. Naanị ihe dị iche bụ na n'ime arịrịọ bụ isi nke a kapịrị ọnụ ejiri bụ openid,- A Client n'ikpeazụ ọ na-adị ka Nweta Token, na Ihe ngosi ID.

Otu dị ka ọ dị na mgbaba OAuth, Nweta Token na OpenID Jikọọ - nke a bụ ụfọdụ uru na-edoghị anya Client'u. Site n'echiche Client'A Nweta Token na-anọchite anya eriri mkpụrụedemede ezigara yana arịrịọ ọ bụla Ihe nkesa akụrụngwa'y, nke ahụ na-ekpebi ma akara ahụ ọ̀ bara uru. Ihe ngosi ID bụ ihe dị nnọọ iche.
ID Token bụ JWT
Ihe ngosi ID bụ eriri mkpụrụedemede ahaziri ahazi nke a maara dị ka JSON Web Token ma ọ bụ JWT (A na-akpọkarị akara JWT "jots").. Nye ndị na-ekiri ihe na-abụghị, JWT nwere ike ịdị ka gobbledygook na-enweghị nghọta, mana Client nwere ike wepụ ozi dị iche iche na JWT dị ka ID, aha njirimara, oge nbanye akaụntụ, ụbọchị njedebe Ihe ngosi ID'ah, ọnụnọ nke mgbalị iji gbochie JWT. Data n'ime Ihe ngosi ID'na a na-akpọ ngwa [na-ekwu].

N'ihe banyere OIDC nwekwara usoro ọkọlọtọ nke Client nwere ike ịrịọ ozi nkeonwe ọzọ [ njirimara] si Ihe nkesa ikike'na, ọmụmaatụ, adreesị ozi-e na-eji Nweta Token.
Mụtakwuo maka OAuth na OIDC
Yabụ, anyị lere anya na nkenke ka OAuth na OIDC si arụ ọrụ. Ọ dịla njikere igwu miri emi? Nke a bụ akụrụngwa ndị ọzọ iji nyere gị aka ịmụtakwu maka OAuth 2.0 na OpenID Connect:
Dị ka mgbe niile, nweere onwe gị ikwu okwu. Ka ị nweta akụkọ ọhụrụ anyị, denye aha na ya и Daalụ maka ndị mmepe!
PS sitere na onye ntụgharị
Gụọkwa na blọọgụ anyị:
- «»;
- «»;
- «»;
- «".
isi: www.habr.com











