Canllaw Darluniadol i OAuth ac OpenID Connect

Nodyn. traws.: Mae'r erthygl wych hon gan Okta yn esbonio sut mae OAuth ac OIDC (OpenID Connect) yn gweithio mewn ffordd syml a chlir. Bydd y wybodaeth hon yn ddefnyddiol i ddatblygwyr, gweinyddwyr system, a hyd yn oed "defnyddwyr rheolaidd" o gymwysiadau gwe poblogaidd, sydd fwyaf tebygol hefyd yn cyfnewid data cyfrinachol â gwasanaethau eraill.

Yn Oes y Cerrig y Rhyngrwyd, roedd rhannu gwybodaeth rhwng gwasanaethau yn hawdd. Yn syml, fe wnaethoch chi roi eich mewngofnodi a'ch cyfrinair o un gwasanaeth i'r llall, fel ei fod yn mynd i mewn i'ch cyfrif ac yn derbyn unrhyw wybodaeth yr oedd ei hangen arno.

Canllaw Darluniadol i OAuth ac OpenID Connect
"Rhowch eich cyfrif banc i mi." “Rydyn ni’n addo y bydd popeth yn iawn gyda’r cyfrinair a’r arian. Mae hynny'n onest, onest!" *hee hee*

Arswyd! Ni ddylai neb fyth fynnu bod defnyddiwr yn rhannu enw defnyddiwr a chyfrinair, cymwysterau, gyda gwasanaeth arall. Nid oes unrhyw sicrwydd y bydd y sefydliad y tu ôl i’r gwasanaeth hwn yn cadw’r data’n ddiogel ac ni fydd yn casglu mwy o wybodaeth bersonol nag sydd angen. Efallai ei fod yn swnio'n wallgof, ond mae rhai apiau'n dal i ddefnyddio'r arfer hwn!

Heddiw mae un safon sy'n caniatáu i un gwasanaeth ddefnyddio data un arall yn ddiogel. Yn anffodus, mae safonau o'r fath yn defnyddio llawer o jargon a thermau, sy'n cymhlethu eu dealltwriaeth. Pwrpas y deunydd hwn yw esbonio sut maen nhw'n gweithio gan ddefnyddio darluniau syml (Ydych chi'n meddwl bod fy lluniau i'n debyg i dewi plant? O wel!).

Canllaw Darluniadol i OAuth ac OpenID Connect

Gyda llaw, mae'r canllaw hwn hefyd ar gael ar ffurf fideo:

Foneddigion a boneddigesau, croeso: OAuth 2.0

OAuth 2.0 yn safon diogelwch sy'n caniatáu i un cais gael caniatâd i gael mynediad at wybodaeth mewn rhaglen arall. Dilyniant y camau ar gyfer rhoi trwydded [caniatâd] (Neu cydsyniad [cydsyniad]) galw yn aml awdurdodiad [awdurdod] neu hyd yn oed awdurdodi dirprwyedig [awdurdodiad dirprwyedig]. Gyda'r safon hon, rydych yn caniatáu i raglen ddarllen data neu ddefnyddio swyddogaethau rhaglen arall ar eich rhan heb roi eich cyfrinair iddo. Dosbarth!

Er enghraifft, gadewch i ni ddweud eich bod chi'n darganfod gwefan o'r enw "Pwnc Anlwcus y Dydd" [Pwnc Ofnadwy y Dydd] a phenderfynodd gofrestru arno er mwyn derbyn pigion dyddiol ar ffurf negeseuon testun ar y ffôn. Roeddech chi'n hoff iawn o'r wefan, ac fe wnaethoch chi benderfynu ei rannu gyda'ch ffrindiau i gyd. Wedi'r cyfan, mae pawb yn hoffi puns creepy, iawn?

Canllaw Darluniadol i OAuth ac OpenID Connect
“Pwnc anffodus y dydd: Wedi clywed am y boi gollodd hanner chwith ei gorff? Nawr mae bob amser yn iawn! ”… (cyfieithiad bras, oherwydd mae gan y gwreiddiol ei nodyn ei hun - tua. transl.)

Mae'n amlwg nad yw ysgrifennu at bob person o'r rhestr gyswllt yn opsiwn. Ac, os ydych chi hyd yn oed ychydig fel fi, yna byddwch chi'n mynd i unrhyw drafferth i osgoi gwaith diangen. Yn ffodus, gall Pwnc Ofnadwy y Dydd wahodd eich holl ffrindiau ar ei ben ei hun! I wneud hyn, does ond angen i chi agor mynediad i e-bost eich cysylltiadau - bydd y wefan ei hun yn anfon gwahoddiadau atynt (rheolau OAuth)!

Canllaw Darluniadol i OAuth ac OpenID Connect
“Mae pawb yn caru puns! - Wedi mewngofnodi yn barod? “A hoffech chi ganiatáu i wefan Punt Ofnadwy y Dydd gael mynediad i'ch rhestr gyswllt? - Diolch! O hyn ymlaen, byddwn yn anfon nodiadau atgoffa bob dydd at bawb rydych chi'n eu hadnabod, tan ddiwedd amser! Ti yw'r ffrind gorau!"

  1. Dewiswch eich gwasanaeth e-bost.
  2. Os oes angen, ewch i'r safle post a mewngofnodwch i'ch cyfrif.
  3. Rhowch ganiatâd Punt Ofnadwy y Dydd i gael mynediad i'ch cysylltiadau.
  4. Dychwelyd i safle Ofnadwy Punt y Dydd.

Rhag ofn i chi newid eich meddwl, mae cymwysiadau sy'n defnyddio OAuth hefyd yn darparu ffordd i ddirymu mynediad. Unwaith y byddwch yn penderfynu nad ydych yn dymuno rhannu cysylltiadau â Pun Ofnadwy y Dydd mwyach, gallwch fynd i'r wefan bostio a thynnu'r wefan ffug oddi ar y rhestr o geisiadau awdurdodedig.

Llif OAuth

Rydym newydd fynd trwy'r hyn a elwir fel arfer llif [llif] OAuth. Yn ein hesiampl, mae'r llif hwn yn cynnwys camau gweladwy, yn ogystal â sawl cam anweledig, lle mae dau wasanaeth yn cytuno ar gyfnewid gwybodaeth yn ddiogel. Mae enghraifft flaenorol Terrible Pun of the Day yn defnyddio'r llif OAuth 2.0 mwyaf cyffredin, a elwir yn llif "cod awdurdodi". [llif "cod awdurdodi"].

Cyn plymio i fanylion sut mae OAuth yn gweithio, gadewch i ni siarad am ystyr rhai termau:

  • Perchennog Adnoddau:

    Canllaw Darluniadol i OAuth ac OpenID Connect

    Chi yw e! Chi sy'n berchen ar eich tystlythyrau, eich data, ac yn rheoli'r holl weithgareddau y gellir eu cyflawni ar eich cyfrifon.

  • Cwsmeriaid:

    Canllaw Darluniadol i OAuth ac OpenID Connect

    Cais (er enghraifft, gwasanaeth Punt Ofnadwy y Dydd) sydd eisiau cyrchu neu gyflawni rhai gweithredoedd ar ran Perchennog Adnoddau' а.

  • Gweinydd Awdurdodi:

    Canllaw Darluniadol i OAuth ac OpenID Connect

    Yr app sy'n gwybod Perchennog Adnoddau'a ac y mae u Perchennog Adnoddau'a sydd â chyfrif eisoes.

  • gweinydd adnoddau:

    Canllaw Darluniadol i OAuth ac OpenID Connect

    Rhyngwyneb rhaglennu cymhwysiad (API) neu wasanaeth hynny Cwsmeriaid eisiau defnyddio ar ran Perchennog Adnoddau' а.

  • Ailgyfeirio URI:

    Canllaw Darluniadol i OAuth ac OpenID Connect

    Mae'r cyswllt hwnnw Gweinydd Awdurdodi bydd ailgyfeirio Perchennog Adnoddau' ac ar ol rhoddi caniatad Cwsmeriaid'yn. Cyfeirir ato weithiau fel yr "URL Galw'n Ôl".

  • math o ymateb:

    Canllaw Darluniadol i OAuth ac OpenID Connect

    Y math o wybodaeth y disgwylir ei derbyn Cwsmeriaid. Y mwyaf cyffredin math o ymateb'ohm yw'r cod, hynny yw Cwsmeriaid yn disgwyl derbyn Cod Awdurdodi.

  • Cwmpas:

    Canllaw Darluniadol i OAuth ac OpenID Connect

    Mae hwn yn ddisgrifiad manwl o'r caniatadau sydd eu hangen Cwsmeriaid'y, megis cyrchu data neu gyflawni rhai gweithredoedd.

  • Caniatâd:

    Canllaw Darluniadol i OAuth ac OpenID Connect

    Gweinydd Awdurdodi yn cymryd Scopesgofyn Cwsmeriaid'om, ac yn gofyn Perchennog Adnoddau'a, a ydyw efe yn barod i ddarparu Cwsmeriaid'cael y caniatâd priodol.

  • ID y cleient:

    Canllaw Darluniadol i OAuth ac OpenID Connect

    Defnyddir yr ID hwn i adnabod Cwsmeriaid'a ar Gweinydd Awdurdodi' e.

  • Cyfrinach Cleient:

    Canllaw Darluniadol i OAuth ac OpenID Connect

    Dyma'r cyfrinair sy'n hysbys yn unig Cwsmeriaid'u a Gweinydd Awdurdodi'yn. Mae'n caniatáu iddynt rannu gwybodaeth yn breifat.

  • Cod Awdurdodi:

    Canllaw Darluniadol i OAuth ac OpenID Connect

    Cod dros dro gyda chyfnod byr o ddilysrwydd, sy'n Cwsmeriaid yn darparu Gweinydd Awdurdodi'y yn gyfnewid am Tocyn Mynediad.

  • Tocyn Mynediad:

    Canllaw Darluniadol i OAuth ac OpenID Connect

    Yr allwedd y bydd y cleient yn ei ddefnyddio i gyfathrebu ag ef gweinydd adnoddau'om. Math o fathodyn neu gerdyn allwedd sy'n darparu Cwsmeriaid'cael caniatâd i ofyn am ddata neu gyflawni gweithredoedd ar gweinydd adnoddau'e ar eich rhan.

Nodyn: Weithiau mae Gweinydd Awdurdodi a Gweinyddwr Adnoddau yr un gweinydd. Fodd bynnag, mewn rhai achosion, gall y rhain fod yn weinyddion gwahanol, hyd yn oed os nad ydynt yn perthyn i'r un sefydliad. Er enghraifft, gallai'r Gweinydd Awdurdodi fod yn wasanaeth trydydd parti y mae'r Gweinyddwr Adnoddau yn ymddiried ynddo.

Nawr ein bod wedi ymdrin â chysyniadau craidd OAuth 2.0, gadewch i ni fynd yn ôl at ein hesiampl ac edrych yn agosach ar yr hyn sy'n digwydd yn llif OAuth.

Canllaw Darluniadol i OAuth ac OpenID Connect

  1. ti, Perchennog Adnoddau, rydych chi am ddarparu gwasanaeth Punt Ofnadwy y Dydd (Cwsmeriaidy) mynediad at eich cysylltiadau fel y gallant anfon gwahoddiadau at eich holl ffrindiau.
  2. Cwsmeriaid yn ailgyfeirio'r porwr i'r dudalen Gweinydd Awdurdodi'a a chynnwys yn yr ymholiad ID y cleient, Ailgyfeirio URI, math o ymateb ac un neu fwy Scopes (caniatâd) sydd ei angen arno.
  3. Gweinydd Awdurdodi yn eich gwirio, gan ofyn am enw defnyddiwr a chyfrinair os oes angen.
  4. Gweinydd Awdurdodi yn arddangos ffurflen Caniatâd (cadarnhad) gyda rhestr o'r cyfan Scopesgofyn Cwsmeriaid'om. Rydych chi'n cytuno neu'n gwrthod.
  5. Gweinydd Awdurdodi yn eich ailgyfeirio i’r wefan Cwsmeriaid' a, gan ddefnyddio Ailgyfeirio URI ynghyd â Cod Awdurdodi (cod awdurdodi).
  6. Cwsmeriaid yn cyfathrebu'n uniongyrchol â Gweinydd Awdurdodi'ohm (gan osgoi'r porwr Perchennog Adnoddau'a) ac yn anfon yn ddiogel ID y cleient, Cyfrinach Cleient и Cod Awdurdodi.
  7. Gweinydd Awdurdodi yn gwirio'r data ac yn ymateb gyda Tocyn Mynediad'om (tocyn mynediad).
  8. Nawr Cwsmeriaid yn gallu defnyddio Tocyn Mynediad i anfon cais i gweinydd adnoddau i gael rhestr o gysylltiadau.

ID Cleient a Chyfrinach

Ymhell cyn i chi ganiatáu Terrible Pun of the Day i gael mynediad i'ch cysylltiadau, roedd y Gweinydd Cleient a'r Gweinydd Awdurdodi wedi sefydlu perthynas waith. Cynhyrchodd y Gweinydd Awdurdodi ID y Cleient a Chyfrinach y Cleient (a elwir weithiau ID App и Ap Cyfrinachol) a'u hanfon at y Cleient i ryngweithio ymhellach o fewn OAuth.

Canllaw Darluniadol i OAuth ac OpenID Connect
"- Helo! Hoffwn i weithio gyda chi! - Yn sicr, nid problem! Dyma eich ID Cleient a Chyfrinach!”

Mae'r enw'n awgrymu bod yn rhaid cadw Cyfrinach y Cleient yn gyfrinachol fel mai dim ond y Cleient a'r Gweinydd Awdurdodi sy'n gwybod hynny. Wedi'r cyfan, gyda'i help ef y mae'r Gweinydd Awdurdodi yn cadarnhau gwirionedd y Cleient.

Ond nid dyna'r cyfan... Croeso i OpenID Connect!

Dim ond ar gyfer hyn y mae OAuth 2.0 wedi'i gynllunio awdurdodiad - darparu mynediad i ddata a swyddogaethau o un rhaglen i'r llall. Cyswllt OpenID (OIDC) yn haen denau ar ben OAuth 2.0 sy'n ychwanegu manylion mewngofnodi a phroffil y defnyddiwr sydd wedi'i lofnodi i'r cyfrif. Cyfeirir yn aml at drefniant sesiwn mewngofnodi fel dilysu [dilysu], a gwybodaeth am y defnyddiwr sydd wedi mewngofnodi i'r system (h.y. am Perchennog Adnoddau'e),— data personol [hunaniaeth]. Os yw'r Gweinydd Awdurdodi yn cefnogi OIDC, cyfeirir ato weithiau fel darparwr data personol [darparwr hunaniaeth]oherwydd ei fod yn darparu Cwsmeriaid'cael gwybodaeth am Perchennog Adnoddau' e.

Mae OpenID Connect yn eich galluogi i weithredu senarios lle gellir defnyddio mewngofnodi unigol mewn cymwysiadau lluosog - gelwir y dull hwn hefyd llofnodi sengl (SSO). Er enghraifft, gall rhaglen gefnogi integreiddio SSO â rhwydweithiau cymdeithasol fel Facebook neu Twitter, gan ganiatáu i ddefnyddwyr ddefnyddio cyfrif sydd ganddynt eisoes ac y mae'n well ganddynt ei ddefnyddio.

Canllaw Darluniadol i OAuth ac OpenID Connect

Mae'r llif (llif) OpenID Connect yn edrych yr un fath ag yn achos OAuth. Yr unig wahaniaeth yw mai'r cwmpas penodol a ddefnyddir yn y cais cynradd openid,- A Cwsmeriaid yn y pen draw yn cael fel Tocyn MynediadAc Tocyn ID.

Canllaw Darluniadol i OAuth ac OpenID Connect

Yn union fel yn y llif OAuth, Tocyn Mynediad yn OpenID Connect, dyma rywfaint o werth nad yw'n glir Cwsmeriaid'yn. O safbwynt Cwsmeriaid‘а Tocyn Mynediad yn cynrychioli cyfres o nodau sy'n cael eu pasio ynghyd â phob cais i gweinydd adnoddau'y, sy'n penderfynu a yw'r tocyn yn ddilys. Tocyn ID cynrychioli peth hollol wahanol.

Mae ID Token yn JWT

Tocyn ID yn gyfres o nodau wedi'u fformatio'n arbennig o'r enw JSON Web Token neu JWT (weithiau mae tocynnau JWT yn cael eu ynganu fel "jots"). I arsyllwyr allanol, gall JWT ymddangos fel gibberish annealladwy, ond Cwsmeriaid yn gallu tynnu gwybodaeth amrywiol o'r JWT, megis ID, enw defnyddiwr, amser mewngofnodi, dyddiad dod i ben Tocyn ID'a, presenoldeb ymdrechion i ymyrryd â'r JWT. Data y tu mewn Tocyn ID'a yn cael eu galw ceisiadau [hawliadau].

Canllaw Darluniadol i OAuth ac OpenID Connect

Yn achos OIDC, mae yna ffordd safonol hefyd Cwsmeriaid gall ofyn am wybodaeth ychwanegol am yr unigolyn [hunaniaeth] o Gweinydd Awdurdodi'a, er enghraifft, cyfeiriad e-bost gan ddefnyddio Tocyn Mynediad.

Dysgwch fwy am OAuth ac OIDC

Felly, fe wnaethom adolygu'n fyr sut mae OAuth ac OIDC yn gweithio. Barod i gloddio'n ddyfnach? Dyma adnoddau ychwanegol i'ch helpu i ddysgu mwy am OAuth 2.0 ac OpenID Connect:

Fel bob amser, mae croeso i chi wneud sylwadau. I gael y newyddion diweddaraf, tanysgrifiwch i Twitter и YouTube Okta i ddatblygwyr!

PS gan y cyfieithydd

Darllenwch hefyd ar ein blog:

Ffynhonnell: hab.com

Ychwanegu sylw