ASP.NET - Login con Google
Cosa fare su Google
- Registrare su Google una nuova applicazione, collegandosi al link https://console.developers.google.com/iam-admin/projects
- Selezionare il bottone "Create Project"
- Una volta creato il progetto, selezionate il menu di sinistra Settings e prendete nota del valore di PROJECT ID
- Andare alla pagina delle Google Apis, https://console.developers.google.com/apis
- Selezionare le Google+ API e abilitarle con pulsante "Enable"
- Ora selezionate la voce Credentials sul menu di sinistra
- Dalla pagina delle Credentials selezionate il botton "Create Credentials" scegliendo l'opzione OAuth Client ID
- Dalla pagina di creazione del Client ID selezionare l'opzione "Web application", dare un nome alla web application e valorizzare il campo "Authorized redirect URIs", impostando tutte le pagine del nostro sito che saranno abilitate a ricevere le risposte dalle API di Google. Nel nostro esempio valorizzeremo il campo con "http://localhost:50101/Pages/loginGoogle.aspx"
- Una volta creato il Client ID, prendere nota dei valori di CLIENT ID e CLIENT SECRET
Cosa fare su Visual Studio
- Inserire nel web.config tre nuovi app setting, che contengo rispettivamente l'ID APPLICAZIONE e la CHIAVE SEGRETA, ottenuti registrando l'applicazione su Google
<add key="GoogleClientId" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>
<add key="GoogleClientSecret" value="xxxxxxxxxx"/>
<add key="GoogleProjectId" value="xxxxxxx"/>
- Creare la seguente classe CGoogle nel progetto
Scegliete ora la pagina in cui volete inserire il link che chiamerete, ad esempio, LOGIN CON GOOGLE
Nel code behind di questa pagina, all'evento Page_Load, valorizzare l'url col metodo getUrlLogin della classe CGoogle. hlGoogleLogin.NavigateUrl = CGoogle.getUrlLogin("/pages/loginGoogle.aspx");
- Il metodo precedente ha un parametro che deve essere valorizzato col il path assoluto della pagina che poi verrà richiamata da Google dopo il login, e alla quale Google passerà i dati dell'utente, che serviranno a noi per gestire la nostra logica applicativa.
- A questo punto abbiamo una pagina che contiene il link "LOGIN CON GOOGLE".
- Quando l'utente lo seleziona viene reindirizzato a Google.
- Se è la prima volta che accede dal nostro sito, Google chiederà il permesso all'utente di usare la nostra applicazione di Google.
- Quindi, dopo che l'utente avrà accettato, Google reindirizzerà il browser alla pagina che abbiamo specificato prima (nel nostro esempio loginGoogle.aspx)
- Pagina loginGoogle.aspx
- Questa pagina avrà il seguente codice nell'evento Page_Load: