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.

"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!).

Iwwregens ass dĂ«se Guide och am Videoformat verfĂŒgbar:

Dir Dammen an dir HÀren, wëllkomm: 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?

"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)!

"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!"
- Wielt Ăren E-Mail Service.
- Wann nĂ©ideg, gitt op d'Mail-Site a mellt Iech op Ăre Kont un.
- Gitt Terrible Pun of the Day Erlaabnis fir Zougang zu Ăre Kontakten.
- 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:

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:

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:

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

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

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:

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:

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:

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:

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

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:

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

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.

- 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.
- 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.
- Autorisatioun Server verifizéiert Iech, frot e Benotzernumm a Passwuert wann néideg.
- Autorisatioun Server weist eng Form Zoustëmmung (Confirmatioune) mat enger Lëscht vun all Scopesgefrot Client'om. Dir averstanen oder refuséieren.
- Autorisatioun Server redirects Iech op de Site Client'a, benotzt Redirect URI zesumme mat Autorisatioun Code (Autorisatiounscode).
- 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.
- Autorisatioun Server kontrolléiert d'Donnéeën a reagéiert mat Zougang Token'om (Zougangstoken).
- 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.

"- 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. (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.

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.

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 Client'à Zougang 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].

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 О Okta fir Entwéckler!
PS vum Iwwersetzer
Liest och op eisem Blog:
- «";
- «";
- «";
- «".
Source: will.com











