Site icon Noir Solutions

Spiegazione protocollo Open Authorization OAuth 2.0

Protocollo di sicurezza Open Authorization Oauth 2.0

Vi parliamo adesso del protocollo di sicurezza Open Authorization che è appunto la contrazione di OAuth. Per la precisione al momento siamo alla versione 2.0.

OAuth è un protocollo universale ossia compatibile con tutti i dispositivi desktop, web e mobile.

Si parla di questo protocollo dal 2006 quanod Blaine Cook lo ideo per Twitter OpenID in versione Open Source. Mentre Google , Yahoo, MSN utuilizzavano protocolli dedicati.

Attualmente però tutti stanno andando verso questa piattaforma.

Principio di Funzionamento di OAuth

L’idea che sta alla base di questo protocollo è la possibilità di autorizzare terze parti per la gestione di documenti o applicazioni senza lo scambio di password. Per questo motivo OAuth nasce proprio dal progetto SAML. Che si basava proprio su questo principio. Ossia la necessità di una sola autenticazione. Ovviamente esiste la possibilità di revoca di tale autorizzazione

Attori Open Authorization

Gli autori di questo tipo di protocollo sono tre.

Con la versione 2.0 è stata aggiunta la figura del Server Mediatore che tipicamente è rappresentato dal browser nel quale viene fatta l’autenticazione.

La particolare novità di questo protocollo rispetto ai precedenti è che viene data l’autorizzazione solamente alle risorse di cui realmente si necessita.
Ovviamente il tutto è improntato alla semplicità.

Non esiste nemmeno il concetto di password tradizionale di accesso come visto fino a poco tempo fa. Con le Oauth si introduce infatti il concetto di ID token.

I componenti dell’ID Token sono

Questi alcuni dei parametri principali OAuth2

 

I taken id hanno si identificano con JWS e sono file in formato Json una possibile implementazione potrebbe essere

{
 "iss": "https://esempio.it",
 "sub": "alice",
 "aud": "client-1234",
 "nonce": "n-0S6_WzA2Mj",
 "exp": 1311281970,
 "iat": 1311280970,
 "auth_time": 1311280969,
 "acr": "urn:mace:incommon:iap:argento"
 }

Il taken può essere richiesto essenzialmente in tre modi

 

Ora che sappiamo cosa contiene un token access vediamo come sia possibile reperirlo. Secondo uno schema molto generale.

 

Exit mobile version