Open Authorization o più comunemente chiamato OAuth, è un protocollo di comunicazione open mediante il quale un’applicazione (o un servizio web) può gestire in modo sicuro l’accesso autorizzato ai dati sensibili. Il protocollo è compatibile con qualsiasi tipologia di applicazione: desktop, web e mobile.

Un’evoluzione di OAuth 1.0 è descritta nel documento RFC 6749 dell’ottobre 2012. Il principio di funzionamento è il medesimo, ma differisce dal predecessore per qualche miglioramento nel servizio. Infatti OAuth 2.0 presenta una chiara divisione dei ruoli, implementando un mediatore tra client e server. Un altro vantaggio rispetto alla precedente versione è dato dalla possibilità di prolungare il tempo di utilizzo del token di accesso qualora desiderato.

Gli attori sono i medesimi con l’aggiunta di un server mediatore. Quest’ultimo ha il principale compito di gestire i token di accesso tra client e server. Il server che funge da mediatore può essere lo stesso che ospita le risorse alle quali accedere. Il server mediatore può gestire token di accesso provenienti da più di un solo server.

Autenticazione mediante Postman

Per capire il flusso di autenticazione, facciamo un esempio pratico utilizzando Postman come client. Il client Postman è un plugin di Chrome molto utile per poter fare chiamate REST alle WebApi. E’ possibile anche installarlo direttamente tramite il seguente link: https://www.getpostman.com/postman

Primo step

Il primo step è quello di chiedere alla WebApi il token che ci autorizzerà ad effettuare le successive chiamate agli endpoint delle WebApi.

Per richiedere il token bisogna inviare una richiesta di /Token con la username e password che vi è stata fornita dal provider.

La chiamata deve essere effettuata in POST e nell’headers va settata la seguente impostazione:

 

Content-Type: application/x-www-form-urlencoded

Mentre nel Body bisogna inserire la username e password con il “grant_type” settato a password

grant_type=password&username=pippo%40email.it&password=PippoPluto1*&=

Secondo step

Nella response della richiesta di Token, se sono stati inseriti correttamente la username e password e siete abilitati ad accedere al sistema, vi verrà restituito un Access Token.

L’Access Token dovrà essere inserito all’interno delle successive chiamate agli endpoint della webapi passando nell’headers il campo Authorization: bearer e l’access token ricevuto.

Cosi facendo sarete autorizzati ad accedere agli endpoint della webapi secondo le autorizzazioni che vi sono state impostate.

Sperando di aver fatto cosa gradita vi lascio alcuni link utili su libri in tema di webapi:

Comments

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *