ATTENZIONE: Questo sito impiega diversi tipi di cookies. Alla pagina MAGGIORI INFORMAZIONI è possibile avere informazioni aggiuntive. Cliccando su ACCETTO o continuando a navigare sul sito acconsenti al loro utilizzo.
<luglio 2024>
lunmarmergiovensabdom
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234
Immagini

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:

    Notifiche