Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Google Auth Mechanism Emanuel Di Nardo emanuel.dinardo@gmail.co m
2
Quattro meccanismi di accesso: 1. OAuth 2.0 (Web e Installed) 2. OAuth 1.0 (deprecato) 3. OpenID (Web) 4. Hybrid Protocol (Web)
3
OAuth 2.0
4
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
5
Utilizzo: Registrare l’applicazione su Google APIs Console e scegliere i servizi da utilizzare
6
Generazione OAuth ID Verranno generate chiavi univoche per l’utilizzo dei servizi
7
Effettuare il login/autorizzazione tramite il seguente url: https://accounts.google.com/o/oauth2/auth Aggiungendo i seguenti parametri con metodo HTTP GET: https://accounts.google.com/o/oauth2/auth
8
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!https://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/userinfo.email
9
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: urn:ietf:wg:oauth:2.0:oob: codice restituito nel titolo della pagina html http://localhost: l’applicazione rimane in ascolto su una porta di rete, devono essere permesse le connessioni in entrata (attenzione ai firewall)http://localhost
10
Dopo l’accesso verrà mostrata una finestra di autorizzazione per l’utente
11
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: https://accounts.google.com/o/oauth2/token
12
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 https://www.googleapis.com/oauth2/v1/userinfo?access_token=1/fFBGRNJru1FQd44 AzqT3Zg https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId?access _token=1/fFBGRNJru1FQd44AzqT3Zg
13
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 https://accounts.google.com/o/oauth2/token
14
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 client_id https://www.googleapis.com/oauth2/v1/tokeninfo
15
In sintesi:
16
Materiale disponibile al seguente indirizzo: http://goo.gl/jJzfh http://students.uniparthenope.it http://goo.gl/jJzfh http://students.uniparthenope.it
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.