Una guida illustrata per OAuth è OpenID Connect

Nota. transl.: Stu grande articulu di Okta spiega cumu OAuth è OIDC (OpenID Connect) funzionanu in modu simplice è chjaru. Questa cunniscenza serà utile à i sviluppatori, amministratori di sistema, è ancu "utilizatori regularmente" di l'applicazioni web populari, chì sò ancu prubabilmente scambià dati sensittivi cù altri servizii.

In l'età di petra di Internet, sparte infurmazione trà servizii era faciule. Simply hà datu u vostru login è password da un serviziu à l'altru, perchè ellu hà intrutu in u vostru contu è hà ricevutu ogni infurmazione chì avia bisognu.

Una guida illustrata per OAuth è OpenID Connect
"Dammi u vostru contu bancariu". "Avemu prumessu chì tuttu sarà bè cù a password è i soldi. Hè onestu, onestu!" *hee hee*

Horror ! Nimu ùn deve mai dumandà à un utilizatore per sparte un nome d'utilizatore è una password, credenziali, cù un altru serviziu. Ùn ci hè micca guaranzia chì l'urganizazione daretu à stu serviziu mantene e dati sicuru è ùn cullighjarà micca più infurmazione persunale chè necessariu. Puderà sonà pazza, ma alcune app usanu sempre sta pratica!

Oghje ci hè un standard unicu chì permette à un serviziu di utilizà in modu sicuru i dati di l'altru. Sfurtunatamente, tali standard usanu assai jargon è termini, chì complicanu a so intelligenza. U scopu di stu materiale hè di spiegà cumu si travaglianu cù l'illustrazioni simplici (Pensate chì i mo disegni s'assumiglia à l'imbulighjate di i zitelli? Oh bè!).

Una guida illustrata per OAuth è OpenID Connect

Per via, sta guida hè ancu dispunibule in formatu video:

Signore è signori, benvenuti: OAuth 2.0

OAuth 2.0 hè un standard di sicurità chì permette à una applicazione di ottene u permessu di accede à l'infurmazioni in un'altra applicazione. Sequenza di i passi per l'emissione di un permessu [permissione] (o accunsentu [consensu]) spessu chjamate l'autorizazione [autorizazione] o ancu l'autorizazione delegata [autorizazione delegata]. Cù stu standard, permette à una applicazione di leghje e dati o di utilizà e funzioni di un'altra applicazione per voi senza dà a vostra password. Classe !

Per esempiu, dicemu chì scopre un situ chjamatu "Unlucky Pun of the Day" [Terrible Pun of the Day] è hà decisu di registrà nantu à questu in modu di riceve i puns di ogni ghjornu in forma di missaghji di testu in u telefunu. Avete veramente piaciutu u situ, è avete decisu di sparte cù tutti i vostri amichi. Dopu tuttu, tutti li piacenu i puns creepy, nò?

Una guida illustrata per OAuth è OpenID Connect
"Sfurtunatu jocu di u ghjornu: Intesu parlà di u tippu chì hà persu a mità manca di u so corpu? Avà hà sempre ragione! " (traduzzione apprussimativa, perchè l'uriginale hà u so propiu jocu di parole - circa trad.)

Hè chjaru chì scrive à ogni persona da a lista di cuntattu ùn hè micca una opzione. È, s'è tù sì ancu un pocu cum'è mè, allora andaraghju à ogni longu per evità u travagliu innecessariu. Fortunatamente, Terrible Pun of the Day pò invità tutti i vostri amichi da ellu stessu! Per fà questu, basta à apre l'accessu à l'e-mail di i vostri cuntatti - u situ stessu li mandarà inviti (regula OAuth)!

Una guida illustrata per OAuth è OpenID Connect
"Tutti amanu i puns! - Sò digià cunnessu ? "Vulete permette à u situ web Terrible Pun of the Day accede à a vostra lista di cuntatti? - Grazie! Da avà, manderemu ricordi ogni ghjornu à tutti quelli chì cunnosci, finu à a fine di u tempu ! Sò u megliu amicu!"

  1. Sceglite u vostru serviziu di email.
  2. Se necessariu, andate à u situ di mail è accede à u vostru contu.
  3. Dà Terrible Pun of the Day permessu per accede à i vostri cuntatti.
  4. Ritorna à u situ Terrible Pun of the Day.

In casu chì cambiassi d'idea, l'applicazioni chì utilizanu OAuth furniscenu ancu un modu per revocà l'accessu. Una volta decide chì ùn vulete più sparte cuntatti cù Terrible Pun of the Day, pudete andà à u situ di mail è caccià u situ di pun da a lista di l'applicazioni autorizate.

Flussu OAuth

Avemu ghjustu passatu per ciò chì hè di solitu chjamatu flussu [flussu] OAuth. In u nostru esempiu, stu flussu hè custituitu di passi visibili, è ancu parechji passi invisibili, in quale dui servizii accunsenu un scambiu sicuru d'infurmazioni. L'esempiu precedente di Terrible Pun of the Day usa u flussu OAuth 2.0 più cumuni, cunnisciutu cum'è u flussu di "codice d'autorizazione". [flussu "codice d'autorizazione"].

Prima di immersione in i dettagli di cumu funziona OAuth, parlemu di u significatu di certi termini:

  • Pruprietariu di risorsa:

    Una guida illustrata per OAuth è OpenID Connect

    Hè tù ! Avete i vostri credenziali, i vostri dati, è cuntrullà tutte l'attività chì ponu esse realizate nantu à i vostri cunti.

  • Client:

    Una guida illustrata per OAuth è OpenID Connect

    Una applicazione (per esempiu, u serviziu Terrible Pun of the Day) chì vole accede o fà certe azzioni in nome di Pruprietariu di risorsa'à.

  • Servitore d'autorizazione:

    Una guida illustrata per OAuth è OpenID Connect

    L'app chì sà Pruprietariu di risorsa'a è in quale u Pruprietariu di risorsa'avi digià un contu.

  • servitore di risorse:

    Una guida illustrata per OAuth è OpenID Connect

    Interfaccia di prugrammazione di l'applicazione (API) o serviziu chì Client vole aduprà in nome Pruprietariu di risorsa'à.

  • Redirect URI:

    Una guida illustrata per OAuth è OpenID Connect

    U ligame chì Servitore d'autorizazione reindirizzerà Pruprietariu di risorsa'è dopu avè permessu Client'à. Hè qualchì volta chjamatu "Callback URL".

  • Tipu di Risposta:

    Una guida illustrata per OAuth è OpenID Connect

    U tipu d'infurmazione chì aspetta per esse ricevutu Client. U più cumuni Tipu di Risposta'Ohm hè u codice, questu hè Client aspetta di riceve Codice d'Autorizazione.

  • aghjalesi:

    Una guida illustrata per OAuth è OpenID Connect

    Questa hè una descrizzione dettagliata di i permessi chì sò necessarii Client'y, cum'è l'accessu à i dati o di fà certe azzioni.

  • accunsentu:

    Una guida illustrata per OAuth è OpenID Connect

    Servitore d'autorizazione piglianu Scopidumandatu Client'om, è dumanda Pruprietariu di risorsa'a, hè prontu à furnisce Client'avè i permessi adatti.

  • ID cliente:

    Una guida illustrata per OAuth è OpenID Connect

    Stu ID hè utilizatu per identificà Client'a nantu Servitore d'autorizazione'e.

  • Secret di Cliente:

    Una guida illustrata per OAuth è OpenID Connect

    Questa hè a password chì hè cunnisciuta solu Client'u è Servitore d'autorizazione'à. Li permette di sparte infurmazione privatamente.

  • Codice d'Autorizazione:

    Una guida illustrata per OAuth è OpenID Connect

    Codice tempurale cù un cortu periodu di validità, chì Client furnisce Servitore d'autorizazione'y in cambiu di Token d'Accessu.

  • Token d'Accessu:

    Una guida illustrata per OAuth è OpenID Connect

    A chjave chì u cliente aduprà per cumunicà cù servitore di risorse'om. Una spezia di badge o carta chjave chì furnisce Client'avè permessu di dumandà dati o di fà azzione servitore di risorse'è in nome vostru.

Vita: A volte u Servitore d'Autorizazione è u Servitore di Risorse sò u stessu servitore. In ogni casu, in certi casi, questi ponu esse servitori diffirenti, ancu s'ellu ùn appartene micca à a listessa urganizazione. Per esempiu, u Servitore d'Autorizazione pò esse un serviziu di terzu fiduciale da u Servitore di Risorse.

Avà chì avemu cupertu i cuncetti core di OAuth 2.0, vultemu à u nostru esempiu è fighjemu più attente à ciò chì succede in u flussu OAuth.

Una guida illustrata per OAuth è OpenID Connect

  1. tu, Pruprietariu di risorsa, vulete furnisce u serviziu Terrible Pun of the Day (Clienty) accessu à i vostri cuntatti cusì ch'elli ponu mandà inviti à tutti i vostri amichi.
  2. Client redirige u navigatore à a pagina Servitore d'autorizazione'a è include in a dumanda ID cliente, Redirect URI, Tipu di Risposta è unu o più Scopi (permissions) hà bisognu.
  3. Servitore d'autorizazione vi verifica, dumandendu un nome d'utilizatore è una password se ne necessariu.
  4. Servitore d'autorizazione mostra una forma accunsentu (confirmazioni) cù una lista di tutti Scopidumandatu Client'om. Accettate o ricusate.
  5. Servitore d'autorizazione vi redirige à u situ Client'a, usu Redirect URI inseme cù Codice d'Autorizazione (codice d'autorizazione).
  6. Client cumunicà direttamente cù Servitore d'autorizazione'ohm (bypassendu u navigatore Pruprietariu di risorsa'a) è manda in modu sicuru ID cliente, Secret di Cliente и Codice d'Autorizazione.
  7. Servitore d'autorizazione cuntrolla i dati è risponde cun Token d'Accessu'om (token d'accessu).
  8. Avà Client pò aduprà Token d'Accessu per mandà una dumanda à servitore di risorse pè ottene una lista di cuntatti.

ID Cliente è Secret

Longu prima di permette à Terrible Pun of the Day per accede à i vostri cuntatti, u Cliente è u Servitore d'Autorizazione avianu stabilitu una relazione di travagliu. U Servitore d'Autorizazione hà generatu l'ID di Cliente è u Sicretu di Cliente (a volte chjamatu ID App и App Secret) è li hà mandatu à u Cliente per più interazzione in OAuth.

Una guida illustrata per OAuth è OpenID Connect
"- Bonghjornu! Mi piacerebbe travaglià cun voi! - Di sicuru, micca un prublema ! Eccu u vostru ID di Cliente è u Secretu!

U nomu suggerisce chì u Sicretu di u Cliente deve esse guardatu segretu per chì solu u Cliente è u Servitore di Autorizazione u cunnosci. Dopu tuttu, hè cù u so aiutu chì u Servitore d'Autorizazione cunfirma a verità di u Cliente.

Ma ùn hè micca tuttu... Benvenuti à OpenID Connect !

OAuth 2.0 hè pensatu solu per autorizazione - per furnisce l'accessu à e dati è e funzioni da una applicazione à l'altru. Connect OpenID (OIDC) hè una capa fina sopra à OAuth 2.0 chì aghjunghje l'accessu è i dettagli di u prufilu di l'utilizatore chì hè firmatu in u contu. L'urganizazione di una sessione di login hè spessu chjamata autentificazione [autentificazione], è l'infurmazioni nantu à l'utilizatore logged in u sistema (vale à dì circa Pruprietariu di risorsa'e), - dati persunali [identità]. Se u Servitore d'Autorizazione supporta OIDC, hè qualchì volta chjamatu fornitore di dati persunali [furnitore d'identità]perchè furnisce Client'avè infurmazione nantu à Pruprietariu di risorsa'e.

OpenID Connect permette di implementà scenarii induve un unicu login pò esse usatu in parechje applicazioni - questu approcciu hè cunnisciutu ancu signu unicu (SSO). Per esempiu, una applicazione pò sustene l'integrazione SSO cù e rete soziale cum'è Facebook o Twitter, chì permette à l'utilizatori di utilizà un contu chì anu digià è preferite aduprà.

Una guida illustrata per OAuth è OpenID Connect

U flussu (flussu) OpenID Connect pare u listessu cum'è in u casu di OAuth. L'unica diferenza hè chì in a dumanda primaria, u scopu specificu utilizatu hè openid, - A Client eventualmente diventa cum'è Token d'Accessu, è ID Token.

Una guida illustrata per OAuth è OpenID Connect

Cum'è in u flussu OAuth, Token d'Accessu in OpenID Connect, questu hè un valore chì ùn hè micca chjaru Client'à. Da u puntu di vista Client'A Token d'Accessu rapprisenta una stringa di caratteri chì hè passatu cù ogni dumanda à servitore di risorse'y, chì determina se u token hè validu. ID Token rapprisenta una cosa completamente diversa.

ID Token hè un JWT

ID Token hè una stringa di caratteri speciale cunnisciuta cum'è JSON Web Token o JWT (a volte i tokens JWT sò pronunziati cum'è "jots"). À l'osservatori esterni, JWT pò sembra un gibberish incomprensibile, ma Client pò estrattà diverse informazioni da u JWT, cum'è ID, nome d'utilizatore, tempu di login di u contu, data di scadenza ID Token'a, a prisenza di tentativi di interferiscenu cù u JWT. Dati dentro ID Token'a sò chjamati applicazioni [reclamazioni].

Una guida illustrata per OAuth è OpenID Connect

In u casu di OIDC, ci hè ancu un modu standard per quale Client pò dumandà infurmazioni supplementari nantu à l'individuu [identità] от Servitore d'autorizazione'a, per esempiu, un indirizzu email utilizendu Token d'Accessu.

Sapete più nantu à OAuth è OIDC

Dunque, avemu rivisatu brevemente cumu funziona OAuth è OIDC. Pronti à scavà più in fondu? Eccu risorse supplementari per aiutà à amparà di più nantu à OAuth 2.0 è OpenID Connect:

Cum'è sempre, sentite liberu di cummentà. Per mantene a data cù e nostre ultime nutizie, abbonate à Twitter и YouTube Okta per i sviluppatori!

PS da u traduttore

Leghjite puru nant'à u nostru blog:

Source: www.habr.com

Add a comment