Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

Manatua. fa'aliliu.: O lenei tusiga sili a Okta o loʻo faʻamatalaina ai le auala e galue ai OAuth ma OIDC (OpenID Connect) i se auala faigofie ma manino. O lenei malamalama o le a aoga i tagata atiaʻe, faʻalapotopotoga faʻapitoa, ma e oʻo lava i "tagata faʻaoga masani" o talosaga i luga o le upega tafaʻilagi, lea e foliga mai e fefaʻasoaaʻi faʻamatalaga faalilolilo ma isi auaunaga.

I le Stone Age o le Initaneti, faʻasoa faʻamatalaga i le va o auaunaga sa faigofie. Na e tuʻuina atu lau saini ma lau faʻaupuga mai le tasi auaunaga i le isi, ina ia ulufale i lau teugatupe ma maua soʻo se faʻamatalaga na te manaʻomia.

Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect
"Tuu mai ia te au lau teugatupe i le faletupe." “Matou te folafola atu o le a lelei mea uma i le upu faataga ma tupe. E fa'amaoni lena, fa'amaoni!" *heehee*

Mata'utia! E leai se tasi e tatau ona manaʻomia se tagata faʻaoga e faʻasoa se igoa faʻaoga ma upu faʻamaonia, fa'ailoga, ma se isi auaunaga. E leai se fa'amaoniga o le fa'alapotopotoga i tua atu o lenei 'au'aunaga o le a fa'amautu fa'amaumauga ma o le a le aoina atili fa'amatalaga patino nai lo le mana'omia. Atonu e fa'avalevalea, ae o lo'o fa'aogaina pea e nisi polokalame lenei faiga!

I aso nei o loʻo i ai se faʻataʻitaʻiga e tasi e mafai ai e se tasi auaunaga ona faʻaoga saogalemu faʻamatalaga a le isi. Ae paga lea, o ia tulaga e faʻaaogaina ai le tele o faʻamatalaga ma faaupuga, e faʻalavelave ai lo latou malamalama. O le faʻamoemoe o lenei mea o le faʻamatalaina pe faʻafefea ona latou faʻaogaina faʻataʻitaʻiga faigofie (E te manatu o aʻu ata tusi e pei o le vali a tamaiti? Oi!).

Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

I le ala, o loʻo maua foi lenei taʻiala i le ata vitio:

Tama'ita'i e ma alii, fa'afeiloa'i: OAuth 2.0

OAuth 2.0 ose tulaga saogalemu e mafai ai e se tasi talosaga ona maua le faatagaga e maua ai faamatalaga i se isi talosaga. Fa'asologa o laasaga mo le tu'uina atu o se pemita [fa'atagaga] (po o maliega [malie]) valaau soo faatagaga [faatagaina] po o le faamatuu atu le faatagaga [faatagaina tuuina atu]. Faatasi ai ma lenei tulaga, e te faʻatagaina se talosaga e faitau faʻamatalaga pe faʻaaoga galuega a se isi talosaga mo oe e aunoa ma le tuʻuina atu o lau faʻaupuga. Vasega!

Mo se faʻataʻitaʻiga, faʻapea e te mauaina se saite e taʻua o "Unlucky Pun of the Day" [Mata'utia Pun o le Aso] ma filifili e lesitala i luga ina ia maua ai puns i aso taitasi i le tulaga o feau tusitusia i luga o le telefoni. Na e fiafia tele i le saite, ma na e filifili e faʻasoa i au uo uma. A uma mea uma, e fiafia tagata uma i upu taufaaleaga, saʻo?

Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect
“Le manuia o le aso: Na e faalogo e uiga i le alii na leiloa le afa agavale o lona tino? O lea la e sa'o lava o ia i taimi uma!” (fa'atatau fa'aliliuga, ona o le ulua'i fa'aliliuga e iai lana lava fa'aupuga - approx. transl.)

E manino lava o le tusitusi i tagata taʻitoʻatasi mai le lisi o fesoʻotaʻiga e le o se filifiliga. Ma, afai e te pei o aʻu, o le a e alu i soʻo se mea e aloese ai mai galuega e le manaʻomia. O le mea e lelei ai, Mata'utia Pun o le Aso e mafai ona vala'auina au uo uma na'o ia! Ina ia faia lenei mea, na'o lou mana'omia e tatala le avanoa i au feso'ota'iga imeli - o le saite lava ia o le a auina atu ia i latou ni valaaulia (tulafono OAuth)!

Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect
“E fiafia tagata uma i tu’uga! - Ua uma ona saini i totonu? “E te mana'o e fa'ataga le 'upega tafa'ilagi Mata'utia Pun o le Aso e maua lau lisi o feso'ota'iga? - Fa'afetai! Mai le taimi nei, o le a matou lafoina faʻamanatuga i aso uma i tagata uma e te iloa, seia oʻo i le iʻuga o taimi! O oe o le uo sili!"

  1. Filifili lau auaunaga imeli.
  2. Afai e mana'omia, alu i le nofoaga meli ma saini i lau teugatupe.
  3. Tu'u atu Mata'utia Pun o le Aso fa'atagaga e maua ai au feso'ota'iga.
  4. Toe fo'i i le saite Mata'utia Pun o le Aso.

I le tulaga e te suia ai lou mafaufau, o talosaga e faʻaaoga ai le OAuth e maua ai foi se auala e soloia ai le avanoa. O le taimi lava e te filifili ai e te le toe manaʻo e faʻasoa fesoʻotaʻiga ma Mataʻutia Pun o le Aso, e mafai ona e alu i le tuatusi meli ma aveese le pun site mai le lisi o talosaga faʻatagaina.

OAuth Flow

Faatoa tatou oo i le mea e masani ona ta'ua tafe [tafe] OAuth. I la tatou faʻataʻitaʻiga, o lenei tafega e aofia ai laʻasaga vaʻaia, faʻapea foʻi ma ni laasaga e le o vaʻaia, lea e lua auʻaunaga e malilie i se fefaʻatauaʻiga saogalemu o faʻamatalaga. O le fa'ata'ita'iga Mata'utia Pun o le Aso ua fa'aaogaina le fa'asologa masani o le OAuth 2.0, ua ta'ua o le "fa'atagaina code" tafe. ["faiga fa'atagaina" tafe].

A'o le'i su'esu'e au'ili'ili i le auala e galue ai le OAuth, se'i o tatou talanoa i le uiga o nisi faaupuga:

  • Pule o Punaoa:

    Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

    O oe lava! E te umia au fa'amatalaga, au fa'amatalaga, ma pulea uma gaioiga e mafai ona faia i au tala.

  • tagata faʻatau:

    Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

    O se talosaga (mo se fa'ata'ita'iga, le Terrible Pun of the Day service) e mana'o e maua pe fa'atino ni gaioiga fa'apitoa e fai ma sui o Pule o Punaoa'a.

  • Auaunaga Fa'ataga:

    Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

    Le app e iloa Pule o Punaoa'a ma lea u Pule o Punaoa'a ua uma ona i ai se tala.

  • server punaoa:

    Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

    Application programming interface (API) poʻo le tautua lena tagata faʻatau manao e faaaoga e fai ma sui Pule o Punaoa'a.

  • Toe fa'asino le URI:

    Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

    O le sootaga lea Auaunaga Fa'ataga o le a toe faatonutonu Pule o Punaoama ina ua uma ona tuuina atu le faatagaga tagata faʻatau'i. E ta'ua i nisi taimi o le "Callback URL".

  • Ituaiga Tali:

    Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

    Le ituaiga faʻamatalaga e faʻamoemoe e maua tagata faʻatau. Le sili ona taatele Ituaiga Tali'ohm o le code, o lona uiga tagata faʻatau faamoemoe e maua Faʻatagaina Tulafono.

  • aotelega:

    Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

    O se fa'amatalaga auiliili lea o fa'atagaga e mana'omia tagata faʻatau'y, e pei o le mauaina o fa'amatalaga po'o le fa'atinoina o nisi o gaioiga.

  • maliega:

    Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

    Auaunaga Fa'ataga ave Faʻailogatalosagaina tagata faʻatau'om, ma fesili Pule o Punaoa'a, ua saunia ea o ia e saunia tagata faʻatau'ia maua fa'atagaga talafeagai.

  • Tagata faailoa ID:

    Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

    O lenei ID e faʻaaogaina e iloa ai tagata faʻataui luga Auaunaga Fa'ataga'e.

  • Tagata lilo:

    Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

    O le password lea e na'o le iloa tagata faʻatau'u ma Auaunaga Fa'ataga'i. E mafai ai ona latou fa'asoa fa'atasi fa'amatalaga.

  • Faʻatagaina Tulafono:

    Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

    Code le tumau ma se vaitaimi puupuu o le aoga, lea tagata faʻatau saunia Auaunaga Fa'ataga'y e faafesuia'i mo Avanoa Fesoasoani.

  • Avanoa Fesoasoani:

    Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

    Le ki e fa'aoga e le kalani e feso'ota'i ai server punaoa'om. Se ituaiga o pine po'o se kata autu e maua ai tagata faʻatau'i ai le fa'atagaga e talosagaina fa'amaumauga pe fa'atino gaioiga i server punaoae fai ma ou sui.

mataʻi: O nisi taimi o le Server Fa'atagaga ma Resource Server o le server lava lea e tasi. Ae ui i lea, i nisi tulaga, atonu o ni 'au'aunaga eseese, e tusa lava pe le oi latou i le fa'alapotopotoga e tasi. Mo se fa'ata'ita'iga, o le Fa'ataga Fa'atagaga atonu o se isi vaega 'au'aunaga fa'atuatuaina e le Resource Server.

I le taimi nei ua uma ona tatou faʻatalanoaina manatu autu o le OAuth 2.0, seʻi o tatou toe foʻi i la tatou faʻataʻitaʻiga ma vaʻavaʻai totoʻa i mea e tupu i le OAuth flow.

Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

  1. oe, Pule o Punaoa, e te mana'o e tu'uina atu le Au'aunaga Mata'utia Pun o le Aso (tagata faʻatauy) avanoa i au feso'ota'iga ina ia mafai ona latou auina atu valaaulia i au uo uma.
  2. tagata faʻatau toe fa'afo'i le su'esu'e i le itulau Auaunaga Fa'ataga'a ma fa'aaofia i fesili Tagata faailoa ID, Toe fa'asino le URI, Ituaiga Tali ma le tasi pe sili atu Faʻailoga (fa'atagaga) e mana'omia.
  3. Auaunaga Fa'ataga fa'amaonia oe, fesili mo se username ma password pe a mana'omia.
  4. Auaunaga Fa'ataga fa'aalia se fomu maliega (faamaoniga) ma se lisi o mea uma Faʻailogatalosagaina tagata faʻatau'om. E te ioe pe musu.
  5. Auaunaga Fa'ataga toe fa'afeiloa'i oe i le saite tagata faʻatau'a, fa'aaogaina Toe fa'asino le URI faʻatasi ma Faʻatagaina Tulafono (faailoga faataga).
  6. tagata faʻatau fesootai tuusao ma Auaunaga Fa'ataga'ohm (aloese mai le browser Pule o Punaoa'a) ma auina atu ma le saogalemu Tagata faailoa ID, Tagata lilo и Faʻatagaina Tulafono.
  7. Auaunaga Fa'ataga siaki fa'amaumauga ma tali mai Avanoa Fesoasoani'om (fa'ailoga avanoa).
  8. O lenei tagata faʻatau mafai ona fa'aoga Avanoa Fesoasoani e lafo atu se talosaga i server punaoa e maua ai se lisi o feso'ota'iga.

ID Client ma mea lilo

A'o le'i leva ona e fa'atagaina Mata'utia Pun o le Aso e fa'afeso'ota'i au feso'ota'iga, na fa'atūina e le Client ma le Authorization Server se mafutaga galulue. O le Auaunaga Faʻatagaina na faʻatupuina le ID Client ma le Client Secret (o nisi taimi e taʻua ID ID и App Secret) ma auina atu i le Client mo nisi fegalegaleaiga i totonu ole OAuth.

Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect
"- Talofa! Ou te fia galulue faatasi ma oe! - Ioe, e le o se faʻafitauli! O lau Client ID ma mea lilo!”

O le igoa o lo'o fa'ailoa mai e tatau ona natia le Client Secret ina ia na'o le Client ma le Authorization Server e iloa. A uma mea uma, o lana fesoasoani lea e faʻamaonia ai e le Auaunaga Faʻatagaina le moni o le Client.

Ae le na'o le pau lea... Fa'amolemole fa'afeiloa'i OpenID Connect!

OAuth 2.0 ua na o le fuafuaina mo faʻatagaina - ia maua le avanoa i faʻamatalaga ma galuega mai le tasi talosaga i le isi. OpenID Fesoʻotaʻi (OIDC) o se mea manifinifi i luga ole OAuth 2.0 e faʻaopoopoina ai faʻamatalaga faʻamatalaga ma faʻamatalaga o le tagata faʻaoga o loʻo saini i totonu o le teugatupe. O le faʻatulagaina o se faʻasalalauga e masani ona taʻua o fa'amaoni [fa'amaoni], ma fa'amatalaga e uiga i le tagata fa'aoga na ulufale i totonu o le faiga (ie Pule o Punaoa'e), - fa'amatalaga patino [faasinomaga]. Afai e lagolagoina e le Auaunaga Faʻatagaina le OIDC, o nisi taimi e taʻua o tu'uina atu fa'amatalaga patino [tagata e tuuina atu faasinomaga]aua e maua ai tagata faʻatau'i ai fa'amatalaga e uiga i Pule o Punaoa'e.

OpenID Connect e mafai ai e oe ona faʻatinoina faʻataʻitaʻiga e mafai ai ona faʻaogaina se saini e tasi i le tele o talosaga - o lenei auala e lauiloa foi fa'ailoga tasi (SSO). Mo se faʻataʻitaʻiga, e mafai e se talosaga ona lagolagoina le SSO tuʻufaʻatasia ma fesoʻotaʻiga lautele e pei o Facebook poʻo Twitter, faʻatagaina tagata faʻaoga e faʻaoga se tala ua uma ona latou maua ma e manaʻo e faʻaoga.

Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

O le tafe (fesoasoani) OpenID Connect e foliga tutusa ma le tulaga o le OAuth. Pau lava le eseesega o le talosaga muamua, o le lautele faʻapitoa e faʻaaogaina openid, - A tagata faʻatau mulimuli ane e pei Avanoa Fesoasoani, ma ID Faailoga.

Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

E pei lava o le OAuth tafe, Avanoa Fesoasoani i le OpenID Connect, o se mea taua lea e le o manino tagata faʻatau'i. Mai le vaaiga tagata faʻatau'A Avanoa Fesoasoani o lo'o fa'atusalia se manoa o mata'itusi e pasi fa'atasi ma talosaga ta'itasi i server punaoa'y, lea e iloa ai pe aoga le fa'ailoga. ID Faailoga e fai ma sui o se mea e matua ese lava.

ID Token o le JWT

ID Faailoga o se manoa faʻapitoa faʻapipiʻiina o mataitusi e taʻua o le JSON Web Token poʻo le JWT (o nisi taimi o faailoga JWT e taʻua e pei o "jots"). I fafo atu o tagata matau, JWT atonu e foliga mai e le mafai ona malamalama i ai, ae tagata faʻatau e mafai ona maua mai faʻamatalaga eseese mai le JWT, e pei ole ID, igoa ole igoa, taimi e saini ai, aso e muta ai ID Faailoga'a, o le iai o taumafaiga e fa'alavelave i le JWT. Faʻamatalaga i totonu ID Faailoga'a ua valaauina talosaga [talosaga].

Ose Taiala Fa'ata'ita'i ile OAuth ma OpenID Connect

I le tulaga o le OIDC, o loʻo i ai foʻi se auala masani e mafai ai tagata faʻatau e mafai ona talosagaina fa'amatalaga fa'aopoopo e uiga i le tagata [faasinomaga] от Auaunaga Fa'ataga'a, mo se fa'ata'ita'iga, se tuatusi imeli e fa'aaoga Avanoa Fesoasoani.

A'oa'o atili ile OAuth ma le OIDC

O lea la, na matou iloiloina puupuu pe faʻafefea ona galue le OAuth ma le OIDC. Ua sauni e eli loloto? O punaoa faaopoopo nei e fesoasoani ia te oe e aoao atili ai e uiga i le OAuth 2.0 ma OpenID Connect:

E pei lava o taimi uma, lagona le saoloto e faʻaalia. Ina ia fa'afou pea a matou tala fou, fa'asoa i Twitter и YouTube Okta mo tagata atiaʻe!

PS mai faaliliu

Faitau foi i la matou blog:

puna: www.habr.com

Faaopoopo i ai se faamatalaga