Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

Hlokomela. fetolela.: Sengoliloeng sena se setle sa Okta se hlalosa kamoo OAuth le OIDC (OpenID Connect) li sebetsang ka tsela e bonolo le e hlakileng. Tsebo ena e tla ba molemo ho bahlahisi, batsamaisi ba sistimi, esita le "basebelisi ba kamehla" ba lits'ebetso tse tsebahalang tsa webo, tseo ho ka etsahalang hore li fapanyetsane data ea lekunutu le lits'ebeletso tse ling.

Nakong ea Stone Age ea Marang-rang, ho arolelana tlhahisoleseding pakeng tsa litšebeletso ho ne ho le bonolo. U fane feela ka ho kena le phasewete ho tloha tšebeletsong e 'ngoe ho ea ho e' ngoe, e le hore a kenye akhaonto ea hau mme a fumane boitsebiso leha e le bofe boo a bo hlokang.

Tataiso e Bapisitsoeng ea OAuth le OpenID Connect
"Mphe ak'haonte ea hau ea banka." "Re ts'episa hore tsohle li tla loka ka password le chelete. Ke 'nete, 'nete! *hee hee*

Tšabo! Ha ho motho ea lokelang ho batla mosebelisi ho arolelana lebitso la mosebelisi le password, mangolo a bopaki, ka tshebeletso e nngwe. Ha ho na tiiso ea hore mokhatlo o ka mor'a ts'ebeletso ena o tla boloka data e sireletsehile 'me e ke ke ea bokella lintlha tse ngata tsa botho ho feta kamoo ho hlokahalang. E kanna ea utloahala e hlanya, empa lisebelisoa tse ling li ntse li sebelisa mokhoa ona!

Kajeno ho na le tekanyetso e le 'ngoe e lumellang tšebeletso e le' ngoe hore e sebelise ka mokhoa o sireletsehileng data ea e 'ngoe. Ka bomalimabe, litekanyetso tse joalo li sebelisa mantsoe le mantsoe a mangata, a thatafatsa kutloisiso ea bona. Sepheo sa boitsebiso bona ke ho hlalosa hore na li sebetsa joang ka lipapiso tse bonolo (Na u nahana hore litšoantšo tsa ka li tšoana le ho tlotsa ha bana? Oh hantle!).

Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

Ka tsela, tataiso ena e fumaneha ka sebopeho sa video:

Basali le banna, amohela: OAuth 2.0

Mohloli oa 2.0 ke tekanyetso ea ts'ireletso e lumellang ts'ebeliso e 'ngoe ho fumana tumello ea ho fumana leseli ts'ebelisong e ngoe. Tatellano ea mehato ea ho fana ka tumello [tumello] (kapa tumello [tumello]) ho letsa hangata tumello [tumello] kapa esita le tumello e fanoeng [tumello e fanoeng]. Ka maemo ana, o lumella sesebelisoa ho bala datha kapa ho sebelisa lits'ebetso tse ling molemong oa hau ntle le ho fana ka password ea hau. Sehlopha!

Ka mohlala, ha re re u fumane sebaka se bitsoang "Unlucky Pun of the Day" [Tlhaloso e tšabehang ea Letsatsi] 'me a etsa qeto ea ho ingolisa ho eona e le hore a fumane puns ea letsatsi le letsatsi ka mokhoa oa melaetsa ea selefouno. U ratile sebaka sena haholo, 'me u nkile qeto ea ho se arolelana le metsoalle eohle ea hau. Ntle le moo, motho e mong le e mong o rata li-puns tse makatsang, na?

Tataiso e Bapisitsoeng ea OAuth le OpenID Connect
"Pun e malimabe ea letsatsi leo: U utloile ka mohlankana ea lahlehetsoeng ke halofo e letšehali ea 'mele oa hae? Joale o lula a nepile!” (phetolelo e hakanyetsoang, hobane ea mantlha e na le pun ea eona - approx. transl.)

Ho hlakile hore ho ngolla motho e mong le e mong ho tsoa lethathamong la mabitso ha se khetho. 'Me, haeba u batla u tšoana le' na, u tla leka ho qoba mosebetsi o sa hlokahaleng. Ka lehlohonolo, Pun e tšabehang ea Letsatsi e ka memela metsoalle eohle ea hau ka boeona! Ho etsa sena, o hloka feela ho bula monyetla oa ho fumana lengolo-tsoibila la mabitso a hau - sebaka ka bosona se tla ba romella limemo (melao ea OAuth)!

Tataiso e Bapisitsoeng ea OAuth le OpenID Connect
"E mong le e mong o rata lipapali! - Na o se o kene? "Na u ka thabela ho lumella sebaka sa Marang-rang se Tšireletsehileng sa Pun ea Letsatsi ho fumana lethathamo la mabitso a hau? - Kea leboha! Ho tloha joale ho ea pele, re tla romela likhopotso letsatsi le leng le le leng ho motho e mong le e mong eo u mo tsebang, ho fihlela qetellong ea nako! U motsoalle oa hlooho ea khomo!"

  1. Khetha tšebeletso ea hau ea imeile.
  2. Haeba ho hlokahala, e-ea sebakeng sa mangolo 'me u kene ka akhaonto ea hau.
  3. Fana ka Pun e tšabehang ea Letsatsi tumello ea ho fumana mabitso a hau.
  4. Khutlela sebakeng se tšabehang sa Pun ea Letsatsi.

Haeba u ka fetola maikutlo, lits'ebetso tse sebelisang OAuth li fana ka mokhoa oa ho hlakola phihlello. Hang ha u se u nkile qeto ea hore ha u sa batla ho arolelana mabitso le Terrible Pun of the Day, u ka ea sebakeng sa mangolo 'me u tlose sebaka sa pun lethathamong la likopo tse lumelletsoeng.

Phallo ea OAuth

Re sa tsoa feta ho seo hangata se bitsoang phalla [phalla] OAuth. Mohlala oa rona, phallo ena e na le mehato e bonahalang, hammoho le mehato e 'maloa e sa bonahaleng, eo litšebeletso tse peli li lumellanang ka phapanyetsano e sireletsehileng ea tlhahisoleseding. Mohlala o fetileng oa Terrible Pun of the Day o sebelisa phallo e atileng haholo ea OAuth 2.0, e tsejoang ka hore ke "khoutu ea tumello" phallo. ["khoutu ea tumello" phallo].

Pele re kenella ka botlalo mabapi le hore na OAuth e sebetsa joang, ha re bueng ka moelelo oa mantsoe a mang:

  • Mong'a Lisebelisoa:

    Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

    Ke uena! U na le mangolo a hau, lintlha tsa hau, 'me u laola mesebetsi eohle e ka etsoang liak'haonteng tsa hau.

  • sedirelwa:

    Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

    Kopo (ka mohlala, tshebeletso ya Terrible Pun of the Day) e batlang ho fihlella kapa ho etsa diketso tse itseng molemong wa Mong'a Lisebelisoa'a.

  • Seva ea tumello:

    Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

    Kopo e tsebang Mong'a Lisebelisoa'a le eo u Mong'a Lisebelisoa'a se a ntse a na le account.

  • seva ea lisebelisoa:

    Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

    Sebopeho sa lenaneo la kopo (API) kapa tšebeletso eo sedirelwa batla ho sebelisa molemong oa Mong'a Lisebelisoa'a.

  • Tsamaisa URI hape:

    Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

    Sehokelo seo Seva ea tumello e tla tsamaisa Mong'a Lisebelisoa'me ka mor'a ho fana ka tumello sedirelwa'ho. Ka linako tse ling e bitsoa "callback URL".

  • mofuta oa karabo:

    Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

    Mofuta oa tlhahisoleseling o lebelletsoeng ho amoheloa sedirelwa. E tloaelehileng haholo mofuta oa karabo'ohm ke khoutu, ke hore sedirelwa e lebeletse ho amohela Khoutu ea tumello.

  • Boholo:

    Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

    Ena ke tlhaloso e qaqileng ea litumello tse hlokahalang sedirelwa'y, joalo ka ho fumana data kapa ho etsa liketso tse itseng.

  • tumello:

    Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

    Seva ea tumello e nka Lintlhakopile sedirelwa'om,' me oa botsa Mong'a Lisebelisoa'a, na o itokiselitse ho fana sedirelwa'na le litumello tse loketseng.

  • ID ea bareki:

    Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

    ID ena e sebelisetsoa ho khetholla sedirelwa'a ho Seva ea tumello'e.

  • Lekunutu la Bareki:

    Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

    Ena ke password e tsejoang feela sedirelwa'u le Seva ea tumello'ho. E ba lumella ho arolelana tlhahisoleseling ka lekunutu.

  • Khoutu ea tumello:

    Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

    Khoutu ea nakoana e nang le nako e khuts'oane ea ho nepahala, e sedirelwa e fana Seva ea tumello'y ka phapanyetsano bakeng sa Pontšo ea ho fihlella.

  • Pontšo ea ho fihlella:

    Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

    Senotlolo seo moreki a tla se sebelisa ho buisana le sona seva ea lisebelisoa'om. Mofuta oa beche kapa karete ea senotlolo e fanang ka sedirelwa'na le tumello ea ho kopa data kapa ho etsa liketso ka seva ea lisebelisoa'E molemong oa hau.

mantsoe: Ka linako tse ling Authorization Server le Resource Server ke li-server tse tšoanang. Leha ho le joalo, maemong a mang, tsena e ka 'na ea e-ba li-server tse fapaneng, le haeba e se tsa mokhatlo o le mong. Mohlala, Seva ea Tumello e kanna ea ba ts'ebeletso ea mokha oa boraro e tšeptjoang ke Seva ea Mohloli.

Kaha joale re se re akarelitse lintlha tsa mantlha tsa OAuth 2.0, ha re khutleleng mohlaleng oa rona 'me re shebisise se etsahalang ho phallo ea OAuth.

Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

  1. Uena, Mong'a Lisebelisoa, o batla ho fana ka ts'ebeletso e tšabehang ea Pun ea Letsatsi (sedirelway) ho fihlella mabitso a hau e le hore ba ka romella limemo ho metsoalle eohle ea hau.
  2. sedirelwa e lebisa sebatli leqepheng Seva ea tumello'a' me u kenyeletse potsong ID ea bareki, Tsamaisa URI hape, mofuta oa karabo le e le nngwe kapa ho feta Lintlha (litumello) e hloka.
  3. Seva ea tumello e u netefatsa, e botsa lebitso la mosebelisi le password ha ho hlokahala.
  4. Seva ea tumello e bonts'a foromo tumello (litiisetso) ka lethathamo la tsohle Lintlhakopile sedirelwa'om. Ua lumela kapa ua hana.
  5. Seva ea tumello e u lebisa sebakeng sa marang-rang sedirelwa'a, sebelisa Tsamaisa URI hape mmoho le Khoutu ea tumello (khoutu ea tumello).
  6. sedirelwa buisana ka kotloloho le Seva ea tumello'ohm (ho feta sebatli Mong'a Lisebelisoa'a) le ho romela ka mokhoa o sireletsehileng ID ea bareki, Lekunutu la Bareki и Khoutu ea tumello.
  7. Seva ea tumello e hlahloba data mme e araba ka Pontšo ea ho fihlella'om (letšoao la phihlello).
  8. Hona joale sedirelwa e ka sebelisa Pontšo ea ho fihlella ho romela kopo ho seva ea lisebelisoa ho fumana lenane la mabitso.

ID ea moreki le Lekunutu

Nako e telele pele u lumella Pun e Tšabehang ea Letsatsi ho fihlella mabitso a hau, Client le Authorization Server e ne e thehile likamano tsa ts'ebetso. Seva ea tumello e hlahisitse ID ea bareki le Lekunutu la bareki (ka linako tse ling li bitsoa App ID и Lekunutu la App) mme e di romele ho Moreki bakeng sa dipuisano tse ding ka hare ho OAuth.

Tataiso e Bapisitsoeng ea OAuth le OpenID Connect
"- Lumela! Ke kopa ho sebetsa le uena! - Ehlile, ha se bothata! ID ea hau ea Moreki le Lekunutu ke ena!

Lebitso le fana ka maikutlo a hore Lekunutu la Moreki le tlameha ho bolokoa e le lekunutu e le hore ke Sebapali sa Client le Authorization feela se se tsebang. Ha e le hantle, ke ka thuso ea hae hore Seva sa tumello se tiisa 'nete ea Moreki.

Empa ha se phetho... Ka kopo, amohela OpenID Connect!

OAuth 2.0 e etselitsoe feela tumello - ho fana ka phihlello ea data le mesebetsi ho tloha sesebelisoa se seng ho ea ho se seng. OpenID Hokela (OIDC) ke lera le tšesaane ka holim'a OAuth 2.0 le eketsang lintlha tsa ho kena le profil ea mosebelisi ea kentsoeng akhaonteng. Tlhophiso ea nako ea ho kena hangata e bitsoa netefatso [tiisetso], le tlhaiso-leseling e mabapi le mosebelisi e kentsoeng tsamaisong (ke hore Mong'a Lisebelisoa'e), - lintlha tsa botho [boitsebahatso]. Haeba Authorization Server e tšehetsa OIDC, ka linako tse ling e bitsoa mofani oa lintlha tsa hau [mofani oa boitsebiso]hobane e fana ka sedirelwa'ba le tlhahisoleseding mabapi le Mong'a Lisebelisoa'e.

OpenID Connect e u lumella ho kenya ts'ebetsong maemo ao ho kena ha motho a le mong ho ka sebelisoang lits'ebetsong tse ngata - mokhoa ona o boetse o tsejoa e le. ho kena ha motho a le mong (SSO). Mohlala, sesebelisoa se ka ts'ehetsa khokahano ea SSO le marang-rang a sechaba a kang Facebook kapa Twitter, e lumellang basebelisi ho sebelisa ak'haonte eo ba seng ba ntse ba e-na le eona mme ba khetha ho e sebelisa.

Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

Phallo (phallo) OpenID Connect e shebahala ka mokhoa o ts'oanang le oa OAuth. Phapang feela ke hore kopong ea mantlha, sebaka se ikhethileng se sebelisoang ke openid, - A sedirelwa qetellong o fumana joalo Pontšo ea ho fihlellale Letšoao la ID.

Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

Joalo ka phallo ea OAuth, Pontšo ea ho fihlella ho OpenID Connect, ona ke boleng bo itseng bo sa hlakang sedirelwa'ho. Ho latela pono sedirelwa'a Pontšo ea ho fihlella e emela letoto la litlhaku tse fetisitsoeng hammoho le kopo ka 'ngoe ea ho seva ea lisebelisoa'y, e etsang qeto ea hore na letšoao le nepahetse. Letšoao la ID e emetse ntho e fapaneng ka ho felletseng.

ID Token ke JWT

Letšoao la ID ke letoto la litlhaku tse hlophisitsoeng ka ho khetheha tse tsejoang ka hore ke JSON Web Token kapa JWT (ka linako tse ling li-tokens tsa JWT li bitsoa "jots").. Ho bashebelli ba kantle, JWT e kanna ea utloahala e le bohlanya bo sa utloisiseheng, empa sedirelwa e ka ntša lintlha tse fapaneng ho JWT, joalo ka ID, lebitso la mosebelisi, nako ea ho kena, letsatsi la ho felloa ke nako Letšoao la ID'a, boteng ba liteko tsa ho kena-kenana le JWT. Lintlha tse ka hare Letšoao la ID'a ba bitsoa lits'ebetso [litlaleho].

Tataiso e Bapisitsoeng ea OAuth le OpenID Connect

Tabeng ea OIDC, ho boetse ho na le tsela e tloaelehileng eo ka eona sedirelwa e ka kopa lintlha tse eketsehileng mabapi le motho eo [boitsebahatso] от Seva ea tumello'a, mohlala, aterese ea lengolo-tsoibila e sebelisang Pontšo ea ho fihlella.

Ithute haholoanyane ka OAuth le OIDC

Kahoo, re hlahlobile hakhutšoanyane hore na OAuth le OIDC li sebetsa joang. Na u ikemiselitse ho cheka ho teba? Lisebelisoa tse ling ke tsena ho u thusa ho ithuta haholoanyane ka OAuth 2.0 le OpenID Connect:

Joalo ka mehla, ikutloe u lokolohile ho fana ka maikutlo. Ho lula u tseba litaba tsa rona tsa morao-rao, ingolise ho Twitter и YouTube Okta bakeng sa bahlahisi!

PS ho tsoa ho mofetoleli

Bala hape ho blog ea rona:

Source: www.habr.com

Eketsa ka tlhaloso