En Illustréierte Guide fir OAuth an OpenID Connect

Note. iwwersat.: Dëse super Artikel vum Okta erkläert wéi OAuth an OIDC (OpenID Connect) op eng einfach a kloer Manéier funktionnéieren. Dëst Wësse wäert nëtzlech sinn fir Entwéckler, Systemadministratoren a souguer "regelméisseg Benotzer" vu populäre Webapplikatiounen, déi héchstwahrscheinlech och vertraulech Daten mat anere Servicer austauschen.

Am Steenzäit vum Internet war d'Informatioun tëscht Servicer einfach. Dir hutt einfach Äre Login a Passwuert vun engem Service zum aneren ginn, sou datt hien Äre Kont aginn huet an all néideg Informatioun kritt huet.

En Illustréierte Guide fir OAuth an OpenID Connect
"Gëff mir Äre Bankkonto." "Mir verspriechen datt alles gutt ass mam Passwuert a Suen. Dat ass éierlech, éierlech!" *hei*

Horror! Keen soll jeemools e Benotzer verlaangen e Benotzernumm a Passwuert ze deelen, Umeldungsinformatiounen, mat engem anere Service. Et gëtt keng Garantie datt d'Organisatioun hannert dësem Service d'Donnéeën sécher hält an net méi perséinlech Informatioune sammelt wéi néideg. Et kléngt vläicht verréckt, awer e puer Apps benotzen nach ëmmer dës Praxis!

Haut gëtt et een eenzegen Standard deen engem Service erlaabt d'Donnéeë vun engem aneren sécher ze benotzen. Leider benotze sou Standarde vill Jargon a Begrëffer, wat hir Verständnis komplizéiert. Den Zweck vun dësem Material ass et z'erklären wéi se funktionnéieren mat einfachen Illustratiounen (Denkt Dir datt meng Zeechnungen d'Daubing vu Kanner gleewen? Oh gutt!).

En Illustréierte Guide fir OAuth an OpenID Connect

Iwwregens ass dëse Guide och am Videoformat verfügbar:

Dir Dammen an dir Hären, wëllkomm: OAuth 2.0

OAuth 2.0 ass e Sécherheetsstandard deen eng Applikatioun erlaabt d'Erlaabnis ze kréien fir Zougang zu Informatioun an enger anerer Applikatioun ze kréien. Sequenz vun Schrëtt fir d'Ausstelle vun enger Permis [Erlaabnis] (oder Zoustëmmung [Zoustëmmung]) dacks ruffen Autorisatioun [Autorisatioun] oder souguer delegéiert Autorisatioun [delegéiert Autorisatioun]. Mat dësem Standard erlaabt Dir eng Applikatioun Daten ze liesen oder d'Funktioune vun enger anerer Applikatioun an Ärem Numm ze benotzen ouni et Äert Passwuert ze ginn. Klass!

Als Beispill, loosst eis soen datt Dir e Site entdeckt mam Numm "Unlucky Pun of the Day" [Schreckleche Pun vum Dag] an huet décidéiert sech drop anzeschreiwen fir alldeeglech Wierder a Form vun SMSen um Telefon ze kréien. Dir hutt de Site wierklech gär, an Dir hutt decidéiert et mat all Äre Frënn ze deelen. Iwwerhaapt, jiddereen gär grujheleg Wierder, richteg?

En Illustréierte Guide fir OAuth an OpenID Connect
"Onglécklech Pun vum Dag: Héiert iwwer de Guy deen déi lénks Halschent vu sengem Kierper verluer huet? Elo huet hien ëmmer Recht!" (ongeféier Iwwersetzung, well d'Original huet säin eegene Pun - ca. Iwwersetzung)

Et ass kloer datt d'Schreiwen un all Persoun aus der Kontaktlëscht keng Optioun ass. A wann Dir iwwerhaapt e bësse wéi ech sidd, da gitt Dir op all Längt fir onnéideg Aarbecht ze vermeiden. Glécklecherweis kann Terrible Pun of the Day all Är Frënn selwer invitéieren! Fir dëst ze maachen, musst Dir just Zougang zu Äre Kontakter E-Mail opmaachen - de Site selwer schéckt hinnen Invitatiounen (OAuth Regelen)!

En Illustréierte Guide fir OAuth an OpenID Connect
"Jiddereen huet Wierder gär! - Schon ageloggt? "Wëllt Dir de Terrible Pun of the Day Websäit erlaben Zougang zu Ärer Kontaktlëscht ze kréien? - Merci! Vun elo un schécken mir all Dag Erënnerungen un jiddereen deen Dir kennt, bis zum Enn vun der Zäit! Dir sidd de beschte Frënd!"

  1. Wielt Ären E-Mail Service.
  2. Wann néideg, gitt op d'Mail-Site a mellt Iech op Äre Kont un.
  3. Gitt Terrible Pun of the Day Erlaabnis fir Zougang zu Äre Kontakten.
  4. Zréck op de Terrible Pun of the Day Site.

Am Fall wou Dir Äert Gedanken ännert, bidden Uwendungen déi OAuth benotzen och e Wee fir den Zougang zréckzezéien. Wann Dir décidéiert datt Dir net méi Kontakter mat Terrible Pun of the Day wëllt deelen, kënnt Dir op d'Mail-Site goen an d'Pun-Site aus der Lëscht vun autoriséierten Uwendungen ewechhuelen.

OAuth Flow

Mir si just duerchgaang, wat normalerweis genannt gëtt fléissen [Flow] OAuth. An eisem Beispill besteet dëse Floss aus sichtbare Schrëtt, wéi och e puer onsichtbare Schrëtt, an deenen zwee Servicer sech iwwer e sécheren Informatiounsaustausch eens ginn. De fréiere Terrible Pun of the Day Beispill benotzt den allgemengsten OAuth 2.0 Flow, bekannt als den "Autorisatiounscode" Flow. ["Autorisatiounscode" Flux].

Ier Dir an d'Detailer taucht wéi OAuth funktionnéiert, loosst eis iwwer d'Bedeitung vun e puer Begrëffer schwätzen:

  • Ressource Besëtzer:

    En Illustréierte Guide fir OAuth an OpenID Connect

    Et ass Dir! Dir besëtzt Är Umeldungsinformatiounen, Är Donnéeën, a kontrolléiert all Aktivitéiten déi op Äre Konten ausgefouert kënne ginn.

  • Client:

    En Illustréierte Guide fir OAuth an OpenID Connect

    Eng Applikatioun (zum Beispill de Service Terrible Pun of the Day) déi Zougang zu bestëmmten Handlungen am Numm vum Ressource Besëtzer'à.

  • Autorisatioun Server:

    En Illustréierte Guide fir OAuth an OpenID Connect

    D'Applikatioun déi weess Ressource Besëtzer'a an deem u Ressource Besëtzer'a hu schonn e Kont.

  • Ressource Server:

    En Illustréierte Guide fir OAuth an OpenID Connect

    Applikatioun programméiere Interface (API) oder Service datt Client wëll am Numm benotzen Ressource Besëtzer'à.

  • Redirect URI:

    En Illustréierte Guide fir OAuth an OpenID Connect

    De Link deen Autorisatioun Server wäert Viruleedung Ressource Besëtzer'an no der Erlaabnis Client'op. Et gëtt heiansdo als "Callback URL" bezeechent.

  • Äntwert Typ:

    En Illustréierte Guide fir OAuth an OpenID Connect

    D'Zort vun Informatioun erwaart ze kréien Client. Am meeschte verbreet Äntwert Typ'ohm ass de Code, dat ass Client erwaart ze kréien Autorisatioun Code.

  • Ausmooss:

    En Illustréierte Guide fir OAuth an OpenID Connect

    Dëst ass eng detailléiert Beschreiwung vun de Permissiounen déi erfuerderlech sinn Client'y, sou wéi Zougang zu Daten oder bestëmmten Aktiounen ausféieren.

  • Zoustëmmung:

    En Illustréierte Guide fir OAuth an OpenID Connect

    Autorisatioun Server kritt Scopesgefrot Client'om, a freet Ressource Besëtzer'a, ass hien prett ze liwweren Client'huet déi entspriechend Permissiounen.

  • Client ID:

    En Illustréierte Guide fir OAuth an OpenID Connect

    Dës ID gëtt benotzt fir z'identifizéieren Client'a op Autorisatioun Server'e.

  • Client Geheimnis:

    En Illustréierte Guide fir OAuth an OpenID Connect

    Dëst ass d'Passwuert dat nëmme bekannt ass Client'u an Autorisatioun Server'op. Et erlaabt hinnen Informatiounen privat ze deelen.

  • Autorisatioun Code:

    En Illustréierte Guide fir OAuth an OpenID Connect

    Temporär Code mat enger kuerzer Period vun Validitéit, déi Client stellt Autorisatioun Server'y am Austausch fir Zougang Token.

  • Zougang Token:

    En Illustréierte Guide fir OAuth an OpenID Connect

    De Schlëssel deen de Client benotzt fir mat ze kommunizéieren Ressource Server'om. Eng Zort Badge oder Schlësselkaart déi ubitt Client'Hutt Erlaabnis fir Daten ze froen oder Aktiounen auszeféieren Ressource Server'e op Ärem Numm.

Remarque: Heiansdo Autorisatioun Server a Ressource Server sinn déi selwecht Server. Wéi och ëmmer, an e puer Fäll kënnen dës verschidde Servere sinn, och wa se net zu der selwechter Organisatioun gehéieren. Zum Beispill kann den Autorisatiounsserver en Drëtt Partei Service sinn, dee vum Ressource Server vertraut gëtt.

Elo datt mir d'Kärkonzepter vun OAuth 2.0 ofgedeckt hunn, loosst eis zréck op eist Beispill goen a méi no kucken wat am OAuth Flow geschitt.

En Illustréierte Guide fir OAuth an OpenID Connect

  1. Dir, Ressource Besëtzer, Dir wëllt den Terrible Pun of the Day Service ubidden (Clienty) Zougang zu Äre Kontakter fir datt se Invitatiounen un all Är Frënn schécken.
  2. Client redirects de Browser op d'Säit Autorisatioun Server'a an an der Ufro abegraff Client ID, Redirect URI, Äntwert Typ an een oder méi Scopes (Erlaabnes) et brauch.
  3. Autorisatioun Server verifizéiert Iech, frot e Benotzernumm a Passwuert wann néideg.
  4. Autorisatioun Server weist eng Form Zoustëmmung (Confirmatioune) mat enger Lëscht vun all Scopesgefrot Client'om. Dir averstanen oder refuséieren.
  5. Autorisatioun Server redirects Iech op de Site Client'a, benotzt Redirect URI zesumme mat Autorisatioun Code (Autorisatiounscode).
  6. Client kommunizéiert direkt mat Autorisatioun Server'ohm (de Browser ëmgoen Ressource Besëtzer'a) a sécher schéckt Client ID, Client Geheimnis и Autorisatioun Code.
  7. Autorisatioun Server kontrolléiert d'Donnéeën a reagéiert mat Zougang Token'om (Zougangstoken).
  8. Elo Client benotzen kann Zougang Token fir eng Demande ze schécken Ressource Server fir eng Lëscht vu Kontakter ze kréien.

Client ID a Geheimnis

Laang ier Dir den Terrible Pun of the Day erlaabt hutt Zougang zu Äre Kontakten ze kréien, huet de Client an d'Autorisatiounsserver eng Aarbechtsrelatioun etabléiert. Den Autorisatiounsserver huet d'Client ID a Client Secret generéiert (heiansdo genannt App ID и App Secret) a geschéckt se un de Client fir weider Interaktioun bannent OAuth.

En Illustréierte Guide fir OAuth an OpenID Connect
"- Hallo! Ech géif gären mat Iech schaffen! - Sécher, kee Problem! Hei sinn Är Client ID a Geheimnis!

Den Numm weist drop hin, datt de Client Secret geheim gehale muss ginn, sou datt nëmmen de Client an d'Autorisatiounsserver et wëssen. No allem ass et mat senger Hëllef datt den Autorisatiounsserver d'Wourecht vum Client bestätegt.

Mee dat ass net alles ... Wëllkomm w.e.g. OpenID Connect!

OAuth 2.0 ass nëmme fir Autorisatioun - Zougang zu Daten a Funktiounen vun enger Applikatioun op déi aner ze bidden. Open ID Connect (OIDC) ass eng dënn Schicht uewen op OAuth 2.0 déi d'Login- a Profildetailer vum Benotzer bäidréit, deen op de Kont ugemellt ass. D'Organisatioun vun enger Login Sessioun gëtt dacks als Authentifikatioun [Authentifikatioun], an Informatioun iwwer de Benotzer deen an de System ageloggt ass (dh iwwer Ressource Besëtzere), - perséinlech Daten [Identitéit]. Wann den Autorisatiounsserver OIDC ënnerstëtzt, gëtt et heiansdo bezeechent Ubidder vu perséinlechen Donnéeën [Identitéit Provider]well et bitt Client' hunn Informatiounen iwwer Ressource Besëtzer'e.

OpenID Connect erlaabt Iech Szenarien ëmzesetzen, wou een eenzege Login a verschidde Applikatioune benotzt ka ginn - dës Approche ass och bekannt als eenzeg Umeldung (SSO). Zum Beispill kann eng Applikatioun SSO Integratioun mat sozialen Netzwierker wéi Facebook oder Twitter ënnerstëtzen, wat d'Benotzer erlaabt e Kont ze benotzen deen se scho hunn a léiwer benotzen.

En Illustréierte Guide fir OAuth an OpenID Connect

De Flow (Flow) OpenID Connect gesäit d'selwecht aus wéi am Fall vun OAuth. Deen eenzegen Ënnerscheed ass datt an der primärer Ufro de spezifeschen Ëmfang benotzt ass openid, - A Client schlussendlech gëtt wéi Zougang Tokenan ID Token.

En Illustréierte Guide fir OAuth an OpenID Connect

Just wéi am OAuth Flow, Zougang Token an OpenID Connect, dëst ass e Wäert deen net kloer ass Client'op. Aus Siicht ClientZougang Token stellt eng String vun Zeeche duer déi mat all Ufro laanscht ass Ressource Server'y, wat bestëmmt ob den Token valabel ass. ID Token stellt eng ganz aner Saach duer.

ID Token ass e JWT

ID Token ass eng speziell formatéiert String vun Zeechen bekannt als JSON Web Token oder JWT (heiansdo gi JWT Tokens wéi "Jots" ausgeschwat). Fir extern Beobachter kann JWT wéi onverständlech Geschwëster schéngen, awer Client kann verschidden Informatioun aus dem JWT extrahéieren, sou wéi ID, Benotzernumm, Loginzäit, Verfallsdatum ID Token'a, d'Präsenz vu Versuche fir de JWT ze stéieren. Daten bannen ID Token'a ginn genannt Uwendungen [Fuerderungen].

En Illustréierte Guide fir OAuth an OpenID Connect

Am Fall vun OIDC gëtt et och e Standard Wee duerch deen Client kann zousätzlech Informatiounen iwwert déi eenzel Ufro [Identitéit] от Autorisatioun Server'a, zum Beispill, eng E-Mailadress benotzt Zougang Token.

Léiert méi iwwer OAuth an OIDC

Also, mir hu kuerz iwwerpréift wéi OAuth an OIDC funktionnéieren. Prett méi déif ze graven? Hei sinn zousätzlech Ressourcen fir Iech ze hëllefen méi iwwer OAuth 2.0 an OpenID Connect ze léieren:

Wéi ëmmer, fillt Iech gratis ze kommentéieren. Fir um neiste Stand vun eisen Neiegkeeten ze bleiwen, abonnéiert Iech op Twitter и YouTube Okta fir Entwéckler!

PS vum Iwwersetzer

Liest och op eisem Blog:

Source: will.com

Setzt e Commentaire