Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

Kumbuka. tafsiri.: Makala haya mazuri ya Okta yanaeleza jinsi OAuth na OIDC (OpenID Connect) zinavyofanya kazi kwa njia rahisi na iliyo wazi. Ujuzi huu utakuwa muhimu kwa watengenezaji, wasimamizi wa mfumo, na hata "watumiaji wa kawaida" wa programu maarufu za wavuti, ambazo kuna uwezekano mkubwa pia kubadilishana data ya siri na huduma zingine.

Katika Enzi ya Jiwe ya Mtandao, kushiriki habari kati ya huduma ilikuwa rahisi. Ulitoa tu kuingia kwako na nenosiri kutoka kwa huduma moja hadi nyingine, ili aingie akaunti yako na kupokea taarifa yoyote aliyohitaji.

Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect
"Nipe akaunti yako ya benki." "Tunaahidi kuwa kila kitu kitakuwa sawa na nenosiri na pesa. Huo ni ukweli, ukweli!" *hii yeye*

Hofu! Hakuna mtu anayepaswa kuhitaji mtumiaji kushiriki jina la mtumiaji na nenosiri, sifa, na huduma nyingine. Hakuna hakikisho kwamba shirika linaloendesha huduma hii litaweka data salama na halitakusanya maelezo zaidi ya kibinafsi kuliko inavyohitajika. Inaweza kuonekana kuwa ya kichaa, lakini programu zingine bado hutumia mazoezi haya!

Leo kuna kiwango kimoja ambacho kinaruhusu huduma moja kutumia kwa usalama data ya mwingine. Kwa bahati mbaya, viwango kama hivyo hutumia jargon na maneno mengi, ambayo yanachanganya uelewa wao. Madhumuni ya nyenzo hii ni kueleza jinsi wanavyofanya kazi kwa kutumia vielelezo rahisi (Je, unafikiri kwamba michoro yangu inafanana na daubing ya watoto? Oh vizuri!).

Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

Kwa njia, mwongozo huu pia unapatikana katika umbizo la video:

Mabibi na mabwana, karibu: OAuth 2.0

Hati 2.0 ni kiwango cha usalama ambacho huruhusu programu moja kupata kibali cha kufikia maelezo katika programu nyingine. Mlolongo wa hatua za kutoa kibali [ruhusa] (Au idhini [ridhaa]) mara nyingi hupiga simu idhini [idhini] au hata idhini iliyokabidhiwa [idhini iliyokabidhiwa]. Kwa kiwango hiki, unaruhusu programu kusoma data au kutumia utendakazi wa programu nyingine kwa niaba yako bila kuipa nenosiri lako. Darasa!

Kwa mfano, tuseme umegundua tovuti inayoitwa "Unlucky Pun of the Day" [Kazi ya kutisha ya Siku] na kuamua kujiandikisha juu yake ili kupokea puns za kila siku kwa njia ya ujumbe wa maandishi kwenye simu. Ulipenda tovuti hii sana, na uliamua kuishiriki na marafiki zako wote. Baada ya yote, kila mtu anapenda maneno ya kutisha, sawa?

Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect
"Pun ya bahati mbaya ya siku: Umesikia juu ya mtu ambaye alipoteza nusu ya kushoto ya mwili wake? Sasa yuko sahihi kila wakati!” (Tafsiri ya takriban, kwa sababu ya asili ina maneno yake - takriban. transl.)

Ni wazi kwamba kuandika kwa kila mtu kutoka kwa orodha ya mawasiliano sio chaguo. Na, ikiwa wewe ni kama mimi kidogo, basi utaenda kwa urefu wowote ili kuzuia kazi isiyo ya lazima. Kwa bahati nzuri, Pun ya Kutisha ya Siku inaweza kualika marafiki wako wote peke yake! Ili kufanya hivyo, unahitaji tu kufungua ufikiaji wa barua pepe ya anwani zako - tovuti yenyewe itawatumia mialiko (sheria za OAuth)!

Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect
"Kila mtu anapenda miujiza! - Tayari umeingia? β€œJe, ungependa kuruhusu tovuti ya Terrible Pun of the Day kufikia orodha yako ya anwani? - Asante! Kuanzia sasa na kuendelea, tutatuma vikumbusho kila siku kwa kila mtu unayemjua, hadi mwisho wa wakati! Wewe ni rafiki bora!"

  1. Chagua huduma yako ya barua pepe.
  2. Ikiwa ni lazima, nenda kwenye tovuti ya barua na uingie kwenye akaunti yako.
  3. Ruhusu Adhabu kali ya Siku ya kufikia watu unaowasiliana nao.
  4. Rudi kwenye tovuti ya Adhabu ya Kutisha ya Siku.

Iwapo utabadilisha nia yako, programu zinazotumia OAuth pia hutoa njia ya kubatilisha ufikiaji. Mara tu unapoamua kuwa hutaki tena kushiriki anwani na Adhabu kali ya Siku, unaweza kwenda kwenye tovuti ya barua pepe na kuondoa tovuti ya pun kutoka kwa orodha ya programu zilizoidhinishwa.

Mtiririko wa OAuth

Tumepitia kile kinachoitwa kawaida mtiririko [mtiririko] OAuth. Katika mfano wetu, mtiririko huu una hatua zinazoonekana, pamoja na hatua kadhaa zisizoonekana, ambazo huduma mbili zinakubaliana juu ya kubadilishana salama ya habari. Mfano wa hapo awali wa Adhabu ya Kutisha ya Siku hutumia mtiririko wa kawaida wa OAuth 2.0, unaojulikana kama mtiririko wa "msimbo wa uidhinishaji". ["msimbo wa idhini" mtiririko].

Kabla ya kuzama katika maelezo ya jinsi OAuth inavyofanya kazi, hebu tuzungumze kuhusu maana ya baadhi ya maneno:

  • Mmiliki wa Rasilimali:

    Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

    Ni wewe! Unamiliki kitambulisho chako, data yako na kudhibiti shughuli zote zinazoweza kufanywa kwenye akaunti zako.

  • mteja:

    Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

    Programu (kwa mfano, Huduma ya Kushtua ya Siku) ambayo inataka kufikia au kutekeleza vitendo fulani kwa niaba ya Mmiliki wa Rasilimali'a.

  • Seva ya Uidhinishaji:

    Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

    Programu inayojua Mmiliki wa Rasilimali'a na ambayo u Mmiliki wa Rasilimali'tayari unayo akaunti.

  • seva ya rasilimali:

    Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

    Kiolesura cha upangaji programu (API) au huduma hiyo mteja anataka kutumia kwa niaba Mmiliki wa Rasilimali'a.

  • Elekeza URI kwingine:

    Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

    Kiungo hicho Seva ya Uidhinishaji itaelekeza kwingine Mmiliki wa Rasilimalina baada ya kutoa ruhusa mteja'katika. Wakati mwingine inajulikana kama "URL ya kurudi nyuma".

  • Aina ya Majibu:

    Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

    Aina ya habari inayotarajiwa kupokelewa mteja. Ya kawaida zaidi Aina ya Majibu'ohm ni kanuni, yaani mteja anatarajia kupokea Msimbo wa Idhini.

  • Scope:

    Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

    Haya ni maelezo ya kina ya ruhusa zinazohitajika mteja'y, kama vile kufikia data au kufanya vitendo fulani.

  • Idhini:

    Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

    Seva ya Uidhinishaji inachukua Scopesaliomba mteja'om, na anauliza Mmiliki wa Rasilimali'a, yuko tayari kutoa mteja'kuwa na ruhusa zinazofaa.

  • Kitambulisho cha Mteja:

    Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

    Kitambulisho hiki kinatumika kutambua mteja'a juu Seva ya Uidhinishaji'e.

  • Siri ya Mteja:

    Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

    Hili ndilo nenosiri ambalo linajulikana tu mteja' wewe na Seva ya Uidhinishaji'katika. Inawaruhusu kushiriki habari kwa faragha.

  • Msimbo wa Idhini:

    Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

    Msimbo wa muda na muda mfupi wa uhalali, ambao mteja hutoa Seva ya Uidhinishaji'y badala ya Upataji wa Ishara.

  • Upataji wa Ishara:

    Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

    Ufunguo ambao mteja atatumia kuwasiliana nao seva ya rasilimali'om. Aina ya beji au kadi muhimu ambayo hutoa mteja'kuwa na ruhusa ya kuomba data au kufanya vitendo seva ya rasilimalikwa niaba yako.

Kumbuka: Wakati mwingine Seva ya Uidhinishaji na Seva ya Rasilimali ni seva sawa. Walakini, katika hali zingine, hizi zinaweza kuwa seva tofauti, hata ikiwa sio za shirika moja. Kwa mfano, Seva ya Uidhinishaji inaweza kuwa huduma ya watu wengine inayoaminika na Seva ya Rasilimali.

Kwa kuwa sasa tumeshughulikia dhana za msingi za OAuth 2.0, hebu turejee kwenye mfano wetu na tuangalie kwa karibu kile kinachotokea katika mtiririko wa OAuth.

Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

  1. Wewe, Mmiliki wa Rasilimali, unataka kutoa huduma ya Ajabu ya Siku (mtejay) ufikiaji wa anwani zako ili waweze kutuma mialiko kwa marafiki zako wote.
  2. mteja inaelekeza kivinjari kwenye ukurasa Seva ya Uidhinishaji'a na ujumuishe katika swali Kitambulisho cha Mteja, Elekeza URI kwingine, Aina ya Majibu na moja au zaidi Scopes (ruhusa) inahitaji.
  3. Seva ya Uidhinishaji inakuthibitisha, ikiuliza jina la mtumiaji na nenosiri ikiwa ni lazima.
  4. Seva ya Uidhinishaji inaonyesha fomu Idhini (uthibitisho) na orodha ya yote Scopesaliomba mteja'om. Unakubali au unakataa.
  5. Seva ya Uidhinishaji inakuelekeza kwenye tovuti mteja'a, kwa kutumia Elekeza URI kwingine na Msimbo wa Idhini (nambari ya idhini).
  6. mteja huwasiliana moja kwa moja na Seva ya Uidhinishaji'ohm (kupitia kivinjari Mmiliki wa Rasilimalia) na kutuma kwa usalama Kitambulisho cha Mteja, Siri ya Mteja ΠΈ Msimbo wa Idhini.
  7. Seva ya Uidhinishaji huangalia data na kujibu na Upataji wa Ishara'om (ishara ya ufikiaji).
  8. Sasa mteja inaweza kutumia Upataji wa Ishara kutuma ombi kwa seva ya rasilimali kupata orodha ya anwani.

Kitambulisho cha Mteja na Siri

Muda mrefu kabla ya kuruhusu Adhabu kali ya Siku kufikia anwani zako, Mteja na Seva ya Uidhinishaji ilikuwa imeanzisha uhusiano wa kufanya kazi. Seva ya Uidhinishaji ilitoa Kitambulisho cha Mteja na Siri ya Mteja (wakati mwingine huitwa Kitambulisho cha Programu ΠΈ Siri ya Programu) na kuzituma kwa Mteja kwa mwingiliano zaidi ndani ya OAuth.

Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect
"- Habari! Ningependa kufanya kazi na wewe! - Kweli, sio shida! Hapa kuna Kitambulisho chako cha Mteja na Siri!"

Jina linaonyesha kuwa Siri ya Mteja lazima iwe siri ili Mteja na Seva ya Uidhinishaji pekee ifahamu. Baada ya yote, ni kwa msaada wake kwamba Seva ya Uidhinishaji inathibitisha ukweli wa Mteja.

Lakini si hivyo tu... Tafadhali karibu OpenID Connect!

OAuth 2.0 imeundwa kwa ajili ya pekee idhini - kutoa ufikiaji wa data na kazi kutoka kwa programu moja hadi nyingine. OpenID Unganisha (OIDC) ni safu nyembamba juu ya OAuth 2.0 ambayo huongeza maelezo ya kuingia na wasifu wa mtumiaji ambaye ameingia kwenye akaunti. Shirika la kikao cha kuingia mara nyingi hujulikana kama uthibitisho [uthibitisho], na habari kuhusu mtumiaji aliyeingia kwenye mfumo (yaani kuhusu Mmiliki wa Rasilimali'e), - taarifa binafsi [kitambulisho]. Ikiwa Seva ya Uidhinishaji inaauni OIDC, wakati mwingine inajulikana kama mtoaji wa data ya kibinafsi [mtoa kitambulisho]kwa sababu inatoa mteja'kuwa na habari kuhusu Mmiliki wa Rasilimali'e.

OpenID Connect hukuruhusu kutekeleza matukio ambapo kuingia mara moja kunaweza kutumika katika programu nyingi - mbinu hii pia inajulikana kama kuingia mara moja (SSO). Kwa mfano, programu inaweza kuauni ujumuishaji wa SSO na mitandao ya kijamii kama vile Facebook au Twitter, ikiruhusu watumiaji kutumia akaunti ambayo tayari wanayo na wanapendelea kutumia.

Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

Mtiririko (mtiririko) OpenID Connect inaonekana sawa na katika kesi ya OAuth. Tofauti pekee ni kwamba katika ombi la msingi, upeo maalum unaotumiwa ni openid, - A mteja hatimaye anapata kama Upataji wa IsharaNa Ishara ya kitambulisho.

Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

Kama tu katika mtiririko wa OAuth, Upataji wa Ishara katika OpenID Connect, hii ni baadhi ya thamani ambayo si wazi mteja'katika. Kwa mtazamo mtejaβ€˜Π° Upataji wa Ishara inawakilisha safu ya wahusika ambayo hupitishwa pamoja na kila ombi kwa seva ya rasilimali'y, ambayo huamua ikiwa ishara ni halali. Ishara ya kitambulisho inawakilisha kitu tofauti kabisa.

Ishara ya kitambulisho ni JWT

Ishara ya kitambulisho ni mfuatano ulioumbizwa mahususi wa herufi unaojulikana kama JSON Web Token au JWT (wakati mwingine ishara za JWT hutamkwa kama "joti").. Kwa watazamaji wa nje, JWT inaweza kuonekana kama upuuzi usioeleweka, lakini mteja inaweza kutoa taarifa mbalimbali kutoka kwa JWT, kama vile kitambulisho, jina la mtumiaji, muda wa kuingia, tarehe ya mwisho wa matumizi Ishara ya kitambulisho'a, uwepo wa majaribio ya kuingilia JWT. Data ndani Ishara ya kitambulisho' wanaitwa maombi [madai].

Mwongozo Ulioonyeshwa kwa OAuth na OpenID Connect

Kwa upande wa OIDC, pia kuna njia ya kawaida ambayo kwayo mteja inaweza kuomba maelezo ya ziada kuhusu mtu huyo [kitambulisho] kutoka Seva ya Uidhinishaji'a, kwa mfano, barua pepe inayotumia Upataji wa Ishara.

Pata maelezo zaidi kuhusu OAuth na OIDC

Kwa hivyo, tulipitia kwa ufupi jinsi OAuth na OIDC zinavyofanya kazi. Je, uko tayari kuchimba zaidi? Hapa kuna nyenzo za ziada za kukusaidia kujifunza zaidi kuhusu OAuth 2.0 na OpenID Connect:

Kama kawaida, jisikie huru kutoa maoni. Ili kusasishwa na habari zetu za hivi punde, jiandikishe Twitter ΠΈ YouTube Okta kwa watengenezaji!

PS kutoka kwa mtafsiri

Soma pia kwenye blogi yetu:

Chanzo: mapenzi.com

Kuongeza maoni