Iùl le dealbhan air OAuth agus OpenID Connect

Thoir an aire. eadar-theangachadh.: Tha an artaigil sgoinneil seo le Okta a’ mìneachadh mar a tha OAuth agus OIDC (OpenID Connect) ag obair ann an dòigh shìmplidh agus shoilleir. Bidh an t-eòlas seo feumail do luchd-leasachaidh, luchd-rianachd shiostaman, agus eadhon “luchd-cleachdaidh cunbhalach” de thagraidhean lìn mòr-chòrdte, a bhios dualtach cuideachd dàta dìomhair a iomlaid le seirbheisean eile.

Ann an Linn na Cloiche air an eadar-lìon, bha e furasta fiosrachadh a roinn eadar seirbheisean. Thug thu dìreach do logadh a-steach agus facal-faire bho aon seirbheis gu seirbheis eile, gus an deach e a-steach don chunntas agad agus gum faigh e fiosrachadh sam bith a bha a dhìth air.

Iùl le dealbhan air OAuth agus OpenID Connect
"Thoir dhomh do chunntas banca." “Tha sinn a’ gealltainn gum bi a h-uile càil gu math leis an fhacal-fhaire agus airgead. Tha sin onarach, onarach!" *he hee*

Uamhas! Cha bu chòir do dhuine sam bith iarraidh air neach-cleachdaidh ainm-cleachdaidh agus facal-faire a cho-roinn, teisteasan, le seirbhis eile. Chan eil gealltanas sam bith ann gun cùm a’ bhuidheann a tha air cùl na seirbheis seo an dàta tèarainte agus nach cruinnich iad barrachd fiosrachaidh pearsanta na tha riatanach. Is dòcha gu bheil e craicte, ach tha cuid de na h-aplacaidean fhathast a’ cleachdadh a’ chleachdadh seo!

An-diugh tha aon inbhe ann a leigeas le aon seirbheis dàta neach eile a chleachdadh gu tèarainte. Gu mì-fhortanach, bidh inbhean mar seo a’ cleachdadh tòrr jargon agus teirmean, a tha a’ dèanamh an tuigse nas duilghe. 'S e adhbhar an stuth seo mìneachadh mar a tha iad ag obair le bhith a' cleachdadh dealbhan sìmplidh (A bheil thu a' smaoineachadh gu bheil na dealbhan agam coltach ri dannsadh na cloinne? O uill!).

Iùl le dealbhan air OAuth agus OpenID Connect

Air an t-slighe, tha an stiùireadh seo cuideachd ri fhaighinn ann an cruth bhidio:

A mhnathan is uaisle, fàilte: OAuth 2.0

OAuth 2.0 na inbhe tèarainteachd a leigeas le aon iarrtas cead fhaighinn airson fiosrachadh fhaighinn ann an tagradh eile. An t-sreath de cheumannan airson cead a thoirt seachad [cead] (no cead [cead]) gu tric a' gairm ùghdarras [ùghdarras] no eadhon ùghdarras tiomnaichte [ùghdarras tiomnaichte]. Leis an inbhe seo, leigidh tu le tagradh dàta a leughadh no gnìomhan tagradh eile a chleachdadh às do leth gun a bhith a’ toirt do fhacal-faire dha. Clas!

Mar eisimpleir, canaidh sinn gun lorg thu làrach leis an t-ainm "Unlucky Pun of the Day" [Punadh uamhasach an latha] agus cho-dhùin iad clàradh air gus puns làitheil fhaighinn ann an cruth teachdaireachdan teacsa air a’ fòn. Chòrd an làrach riut gu mòr, agus chuir thu romhpa a roinn le do charaidean uile. Às deidh na h-uile, is toil le a h-uile duine puns eagallach, ceart?

Iùl le dealbhan air OAuth agus OpenID Connect
“Punadh mì-fhortanach an latha: An cuala tu mun fhear a chaill leth chlì a chuirp? A-nis tha e an-còmhnaidh ceart! ”… (eadar-theangachadh tuairmseach, leis gu bheil a pun - approx. transl.) fhèin aig an fhear thùsail.

Tha e soilleir nach eil sgrìobhadh gu gach neach bhon liosta conaltraidh mar roghainn. Agus, ma tha thu eadhon rud beag coltach riumsa, thèid thu gu ìre sam bith gus obair neo-riatanach a sheachnadh. Gu fortanach, faodaidh Terrible Pun of the Day cuireadh a thoirt dha do charaidean gu lèir leis fhèin! Gus seo a dhèanamh, cha leig thu leas ach ruigsinneachd fhosgladh gu post-d an luchd-aithne agad - cuiridh an làrach fhèin cuiridhean thuca (riaghailtean OAuth)!

Iùl le dealbhan air OAuth agus OpenID Connect
“Tha gaol aig a h-uile duine air tòimhseachain! - Air logadh a-steach mu thràth? “Am bu mhath leat leigeil le làrach-lìn Terrible Pun of the Day faighinn chun liosta conaltraidh agad? - Tapadh leat! Bho seo a-mach, cuiridh sinn cuimhneachain gach latha chun a h-uile duine as aithne dhut, gu deireadh ùine! Is tu an caraid as fheàrr!"

  1. Tagh an t-seirbheis post-d agad.
  2. Ma tha feum air, rachaibh gu làrach a’ phuist agus clàraich a-steach don chunntas agad.
  3. Thoir cead dha Terrible Pun of the Day faighinn chun luchd-aithne agad.
  4. Till air ais gu làrach Terrible Pun of the Day.

Ma dh’ atharraicheas tu d’ inntinn, tha tagraidhean a’ cleachdadh OAuth cuideachd a’ toirt seachad dòigh air ruigsinneachd a chùl-ghairm. Cho luath ‘s a cho-dhùnas tu nach eil thu airson ceanglaichean a cho-roinn le Terrible Pun of the Day tuilleadh, faodaidh tu a dhol gu làrach a’ phuist agus an làrach pun a thoirt air falbh bhon liosta de thagraidhean ùghdarraichte.

Sruth OAuth

Tha sinn dìreach air a dhol tro rud ris an canar mar as trice sruth [sruth] OAuth. Anns an eisimpleir againn, tha an sruth seo a 'gabhail a-steach ceumannan faicsinneach, a bharrachd air grunn cheumannan neo-fhaicsinneach, anns a bheil dà sheirbheis ag aontachadh air iomlaid fiosrachaidh tèarainte. Tha an eisimpleir Terrible Pun of the Day a bh 'ann roimhe a' cleachdadh an t-sruth OAuth 2.0 as cumanta, ris an canar sruth "còd ùghdarrais". [sruthadh "còd ùghdarrais"].

Mus tèid thu a-steach don fhiosrachadh air mar a tha OAuth ag obair, bruidhnidh sinn mu bhrìgh cuid de theirmean:

  • Sealbhadair ghoireasan:

    Iùl le dealbhan air OAuth agus OpenID Connect

    Sin thu! Is ann leatsa a tha na teisteanasan agad, an dàta agad, agus bidh smachd agad air a h-uile gnìomh a dh’ fhaodadh a bhith air a choileanadh air na cunntasan agad.

  • Client:

    Iùl le dealbhan air OAuth agus OpenID Connect

    Iarrtas (mar eisimpleir, seirbheis Terrible Pun of the Day) a tha airson faighinn gu no gnìomhan sònraichte a choileanadh às leth Sealbhadair ghoireasan'a.

  • Frithealaidh ùghdarrais:

    Iùl le dealbhan air OAuth agus OpenID Connect

    An app a tha fios Sealbhadair ghoireasan'a agus anns an robh thu Sealbhadair ghoireasan' tha cunntas agad mu thràth.

  • frithealaiche stòrais:

    Iùl le dealbhan air OAuth agus OpenID Connect

    Eadar-aghaidh prògramadh tagraidh (API) no seirbheis a tha Client ag iarraidh a chleachdadh às leth Sealbhadair ghoireasan'a.

  • Ath-stiùireadh URI:

    Iùl le dealbhan air OAuth agus OpenID Connect

    An ceangal a tha Frithealaidh ùghdarrais ath-stiùireadh Sealbhadair ghoireasan' agus an deigh cead a thoirt seachad Client'aig. Tha e uaireannan air ainmeachadh mar an "Callback URL".

  • Seòrsa Freagairt:

    Iùl le dealbhan air OAuth agus OpenID Connect

    An seòrsa fiosrachaidh a thathar an dùil a gheibhear Client. An fheadhainn as cumanta Seòrsa Freagairt'ohm is e an còd, .i Client an dùil ri fhaighinn Còd Ùghdarrachaidh.

  • farsaingeachd:

    Iùl le dealbhan air OAuth agus OpenID Connect

    Seo tuairisgeul mionaideach air na ceadan a tha a dhìth Client'y, leithid faighinn gu dàta no coileanadh gnìomhan sònraichte.

  • cead:

    Iùl le dealbhan air OAuth agus OpenID Connect

    Frithealaidh ùghdarrais a 'gabhail Sgòileandh'iarr Client'om, agus a' faighneachd Sealbhadair ghoireasan'a, am bheil e ullamh gu solar Client' leis na ceadan iomchaidh.

  • Client a 'Chlàir:

    Iùl le dealbhan air OAuth agus OpenID Connect

    Tha an ID seo air a chleachdadh gus aithneachadh Client'a air Frithealaidh ùghdarrais'e.

  • Dìomhaireachd neach-dèiligidh:

    Iùl le dealbhan air OAuth agus OpenID Connect

    Is e seo am facal-faire nach eil aithnichte ach Clientu agus Frithealaidh ùghdarrais'aig. Leigidh e leotha fiosrachadh a roinn gu prìobhaideach.

  • Còd Ùghdarrachaidh:

    Iùl le dealbhan air OAuth agus OpenID Connect

    Còd sealach le ùine ghoirid de dhligheachd, a tha Client a ’solarachadh Frithealaidh ùghdarrais'y mar mhalairt air Cothrom Comharra.

  • Cothrom Comharra:

    Iùl le dealbhan air OAuth agus OpenID Connect

    An iuchair a chleachdas an neach-dèiligidh airson conaltradh leis frithealaiche stòrais'om. Seòrsa de bhràiste no cairt iuchrach a bheir seachad Client'cead dàta iarraidh no gnìomhan a dhèanamh air frithealaiche stòrais' e air 'ur son.

thuirt: Uaireannan 's e an aon fhrithealaiche a th' ann am Freiceadan Ùghdarrachaidh agus Frithealaiche Ghoireasan. Ach, ann an cuid de chùisean, faodaidh iad sin a bhith nan luchd-frithealaidh eadar-dhealaichte, eadhon ged nach buin iad don aon bhuidheann. Mar eisimpleir, dh’ fhaodadh gur e seirbheis treas-phàrtaidh anns a bheil earbsa aig an Fhrithealaiche Ghoireasan a th’ anns an Fhrithealaiche Ùghdarrachaidh.

A-nis gu bheil sinn air bun-bheachdan OAuth 2.0 a chòmhdach, rachamaid air ais chun eisimpleir againn agus thoir sùil nas mionaidiche air na thachras ann an sruth OAuth.

Iùl le dealbhan air OAuth agus OpenID Connect

  1. thu, Sealbhadair ghoireasan, tha thu airson seirbheis Droch Punnd an Latha a thoirt seachad (Clienty) ruigsinneachd chun luchd-aithne agad gus an urrainn dhaibh cuiridhean a chuir gu do charaidean gu lèir.
  2. Client ath-stiùireadh am brabhsair chun na duilleige Frithealaidh ùghdarrais'a agus cuir a-steach ann an ceist Client a 'Chlàir, Ath-stiùireadh URI, Seòrsa Freagairt agus aon no barrachd Sgòilean (cead) a tha a dhìth air.
  3. Frithealaidh ùghdarrais dearbhadh, ag iarraidh ainm-cleachdaidh agus facal-faire ma tha sin riatanach.
  4. Frithealaidh ùghdarrais a’ taisbeanadh foirm cead (dearbhaidhean) le liosta de na h-uile Sgòileandh'iarr Client'om. Tha thu ag aontachadh no a’ diùltadh.
  5. Frithealaidh ùghdarrais gad ath-stiùireadh chun làraich Client'a, cleachdadh Ath-stiùireadh URI còmhla ri Còd Ùghdarrachaidh (còd ùghdarrais).
  6. Client a’ conaltradh gu dìreach ris Frithealaidh ùghdarrais'ohm (a' dol seachad air a 'bhrabhsair Sealbhadair ghoireasan'a) agus gu sàbhailte a' cur Client a 'Chlàir, Dìomhaireachd neach-dèiligidh и Còd Ùghdarrachaidh.
  7. Frithealaidh ùghdarrais a’ sgrùdadh an dàta agus a’ freagairt le Cothrom Comharra'om (tòcan ruigsinneachd).
  8. A-nis Client urrainn cleachdadh Cothrom Comharra iarrtas a chuir gu frithealaiche stòrais gus liosta de luchd-fios fhaighinn.

ID teachdaiche agus dìomhaireachd

Fada mus do leig thu le Terrible Pun of the Day faighinn chun luchd-aithne agad, bha am frithealaiche teachdaiche agus ùghdarrais air dàimh obrach a stèidheachadh. Chruthaich am frithealaiche ùghdarrachaidh ID an neach-dèiligidh agus an Client Secret (ris an canar uaireannan App a 'Chlàir и Dìomhaireachd app) agus chuir iad chun neach-dèiligidh iad airson tuilleadh eadar-obrachaidh taobh a-staigh OAuth.

Iùl le dealbhan air OAuth agus OpenID Connect
"- Halò! Bu toil leam a bhith ag obair còmhla riut! - Seadh, chan e duilgheadas! Seo an ID teachdaiche agus an Dìomhaireachd agad! ”

Tha an t-ainm a’ ciallachadh gum feumar Dìomhaireachd a’ Chliant a chumail dìomhair gus nach bi ach an Neach-dèiligidh agus an t-seirbheis ùghdarrais eòlach air. Às deidh na h-uile, is ann le a chuideachadh a tha an t-seirbheisiche ùghdarrachaidh a 'dearbhadh fìrinn an neach-dèiligidh.

Ach chan e sin a h-uile rud... Cuir fàilte air OpenID Connect!

Tha OAuth 2.0 air a dhealbhadh a-mhàin airson ùghdarrachadh - gus cothrom a thoirt do dhàta agus gnìomhan bho aon iarrtas gu tagradh eile. Ceangal OpenID (OIDC) na shreath tana air mullach OAuth 2.0 a chuireas ri logadh a-steach agus mion-fhiosrachadh pròifil an neach-cleachdaidh a tha air logadh a-steach don chunntas. Thathas gu tric a’ toirt iomradh air eagrachadh seisean logaidh a-steach dearbhadh [dearbhadh], agus fiosrachadh mun neach-cleachdaidh air logadh a-steach don t-siostam (i.e. mu dheidhinn Sealbhadair ghoireasan'e), - dàta pearsanta [aithne]. Ma tha am frithealaiche ùghdarrachaidh a’ toirt taic do OIDC, thathas uaireannan a’ toirt iomradh air solaraiche dàta pearsanta [solaraiche dearbh-aithne]oir tha e a 'toirt seachad Client' tha fiosrachadh mu dheidhinn Sealbhadair ghoireasan'e.

Leigidh OpenID Connect leat suidheachaidhean a chuir an gnìomh far an urrainnear aon logadh a-steach a chleachdadh ann an grunn thagraidhean - canar cuideachd an dòigh-obrach seo soidhnigeadh singilte (SSO). Mar eisimpleir, faodaidh tagradh taic a thoirt do amalachadh SSO le lìonraidhean sòisealta leithid Facebook no Twitter, a’ leigeil le luchd-cleachdaidh cunntas a th’ aca mu thràth agus as fheàrr leotha a chleachdadh.

Iùl le dealbhan air OAuth agus OpenID Connect

Tha an sruth (sruth) OpenID Connect a’ coimhead mar a tha e ann an cùis OAuth. Is e an aon eadar-dhealachadh gur e an raon sònraichte a thathar a’ cleachdadh anns a’ phrìomh iarrtas openid,- A Client mu dheireadh gheibh e mar Cothrom Comharra, agus Comharra ID.

Iùl le dealbhan air OAuth agus OpenID Connect

Dìreach mar anns an t-sruth OAuth, Cothrom Comharra ann an OpenID Connect, is e seo cuid de luach nach eil soilleir Client'aig. Bho shealladh Client'A Cothrom Comharra a’ riochdachadh sreath de charactaran a thèid seachad còmhla ri gach iarrtas gu frithealaiche stòrais'y, a tha a' dearbhadh a bheil an comharradh dligheach. Comharra ID a’ riochdachadh rud gu tur eadar-dhealaichte.

Tha ID Token na JWT

Comharra ID na shreath de charactaran ann an cruth sònraichte ris an canar JSON Web Token no JWT (uaireannan tha comharran JWT air an ainmeachadh mar "jots"). Do luchd-amhairc bhon taobh a-muigh, is dòcha gu bheil JWT coltach ri gibberish do-thuigsinn, ach Client faodaidh iad diofar fhiosrachadh a tharraing bhon JWT, leithid ID, ainm neach-cleachdaidh, ùine logadh a-steach cunntais, ceann-latha crìochnachaidh Comharra ID'a, làthaireachd oidhirpean air bacadh a chur air an JWT. Dàta a-staigh Comharra ID'a theirear iarrtasan [tagradh].

Iùl le dealbhan air OAuth agus OpenID Connect

A thaobh OIDC, tha dòigh àbhaisteach ann cuideachd Client faodaidh iad fiosrachadh a bharrachd iarraidh mun neach [aithne] от Frithealaidh ùghdarrais'a, mar eisimpleir, seòladh puist-d a' cleachdadh Cothrom Comharra.

Ionnsaich tuilleadh mu OAuth agus OIDC

Mar sin, rinn sinn ath-sgrùdadh goirid air mar a tha OAuth agus OIDC ag obair. Deiseil airson cladhach nas doimhne? Seo goireasan a bharrachd gus do chuideachadh le bhith ag ionnsachadh barrachd mu OAuth 2.0 agus OpenID Connect:

Mar as àbhaist, faodaidh tu beachd a thoirt seachad. Gus cumail suas ris na naidheachdan as ùire againn, fo-sgrìobh gu Twitter и YouTube Okta airson luchd-leasachaidh!

PS bhon eadar-theangair

Leugh cuideachd air ar blog:

Source: www.habr.com

Cuir beachd ann