Google Auth
Mechanism
Emanuel Di Nardo
[email protected]
m
Quattro meccanismi di accesso:
1. OAuth 2.0 (Web e Installed)
2. OAuth 1.0 (deprecato)
3. OpenID (Web)
4. Hybrid Protocol (Web)
OAuth 2.0
Permette l’accesso ad API private
Fornisce sicurezza e protezione per gli utenti
L’applicazione di terze parti non può conoscere i dati inseriti
in fase di login
Autenticazione sicura fornita da Google
Utilizzo di token di sicurezza
•
Utilizzo:
Registrare l’applicazione su Google APIs Console e
scegliere i servizi da utilizzare
•
Generazione OAuth ID
Verranno generate chiavi univoche per l’utilizzo dei
servizi
•
Effettuare il login/autorizzazione tramite il seguente url:
https://accounts.google.com/o/oauth2/auth
Aggiungendo i seguenti parametri con metodo HTTP
GET:
•
Il parametro ‘scope’ definisce a quali informazioni stiamo
cercando di accedere:
Lo scope è indicato nella documentazione della risorse a
cui si tenta di accedere (calendar/gmail/contacts/ecc...)
Es. informazioni account
Informazioni sull’intero account:
https://www.googleapis.com/auth/userinfo.profile
Informazioni sull’indirizzo email:
https://www.googleapis.com/auth/userinfo.email
Possono essere inseriti entrambi!
Gli altri parametri variano in base al tipo di applicazione che
stiamo costruendo.
Web server:
response_type: code;
redirect_uri: specificato nella generazione dell’OAuth
ID;
Client-side:
response_type: token;
redirect_uri: specificato nella generazione dell’OAuth
ID;
Installed app:
reponse_type: code;
redirect_uri:
•
Dopo l’accesso verrà mostrata una finestra di
autorizzazione per l’utente
Nel caso di response_type: code dovrà essere generata una
nuova richiesta per avere il token di accesso:
Richiesta di tipo POST con parametri:
https://accounts.google.com/o/oauth2/token
La risposta sarà un JSON come il seguente:
•
Per effettuare una richiesta specifica dobbiamo
consultare la documentazione della risorsa desiderata.
Vengono utilizzati solitamente i metodi HTTP [GET, POST,
DELETE]
Es.:
Richiesta informazioni utente:
https://www.googleapis.com/oauth2/v1/userinfo?access_token=1/fFBGRNJru1FQd44
AzqT3Zg
Richiesta Google Calendar:
https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId?access
_token=1/fFBGRNJru1FQd44AzqT3Zg
Alla scadenza del token expires_in dobbiamo richiederne
uno nuovo, utilizziamo la chiave refresh_token
Nuova richiesta HTTP POST:
https://accounts.google.com/o/oauth2/token
Problema di sicurezza client-side:
I token devono essere validati!
Aggiungere il parametro access_token con il valore appena
ricevuto al seguente URL:
https://www.googleapis.com/oauth2/v1/tokeninfo
In risposta avremo un nuovo JSON:
La verifica è valida solo se audience corrisponde al proprio
In sintesi:
Materiale disponibile al seguente indirizzo:
http://goo.gl/jJzfh
http://students.uniparthenope.it
Scarica

Google Auth Mechanism