testa
 
 
 
Internet ASP.NET MVC - Accesso con Facebook, Twitter, Linkedin e Google OAuth2
cornice di chiusura
 
Articolo orginale su Microsoft di Rick Anderson
Autore originale: Rick Anderson
Costruire un'applicazione ASP.NET MVC che permetta all'utente di loggarsi con OAuth 2.0 con l'utilizzo di credenziali fornite da un sistema di autenticazione esterno come Facebook, Twitter, Linkedin, Microsoft o Google.
Abilitare queste credenziali nel proprio sito internet fornisce un significativo vantaggio per milioni di utenti che hanno già i loro account su questi sistemi esterni. Questi utenti dovrebbero essere più invogliati a registrarsi sul proprio sito internet senza dover effettuare una nuova registrazione con nuove credenziali.
User Authentication
Quando si crea un nuovo progetto in Microsoft Visual Studio, selezionare la voce MVC e, se il sistema di Autenticazione (Authentication) non è impostato a Individual User Account, selezionare il comando Cambia autenticazione (Change Authentication) e selezionare la voce appropriata.
Aggiornare il pacchetto NuGet all'ultima versione OWIN
Utilizzare il Gestore Pacchetti NuGet (NuGet Package Manager) per aggiornare OWIN. Selezionare Aggiorna (Update) dal menu a sinistra una volta selezionato il pacchetto desiderato.
Tip: si può scegliere la voce "Aggiorna tutti" (Update All) per aggiornare tutti i pacchetti installati nel progetto.
Impostare il progeto SSL
Per connettersi a provider di autenticazione (authentication providers) esterni come Google e Facebook, è necessario impostare IIS-Express all'utilizzo di SSL.
È importante mantenere la connessione SSL dopo aver effettuato il login (e non tornare alla navigazione HTTP), il login cookie è segreto come username e password ed abbandonando la connessione SSL, si trametterebbero in chiaro le credenziali.
  • All'interno della soluzione, selezionare il progetto MVC con il tasto destro del mouse
  • Premere il tasto F4 per mostrare le proprietà del progetto
  • Modificare la voce SSL Enabled a true
  • Copiare l'indirizzo SSL (probabilmente simile a https://localhost:44300)
  • Visualizzare le proprietà con il tasto destro del mouse sul progetto
  • Selezionare il tab WEB ed incollare l'indirizzo SSL nel campo Project Url
  • Aggiungere l'attributo RequireHttps nell'Home Controller per indicare la necessità di utilizzare HTTPS.
    Un altro approccio più sicuro è quello di aggiungere il filtro RequireHttps all'applicazione.
  • Eventualmente installare il certificato richiesto
Creare una Google app per OAuth2 e collegarla al progetto
  • Navigare nella Goolge Developers Console
  • Selezionare la voce Create Project ed inserire un nome al progetto ed un ID (si possono utilizzare i valori di default). In pochi istanti il nuovo progetto verrà creato e si verrà reindirizzati nella pagina specifica
  • Nel tab di sinistra, cliccare su APIs & auth, e successivamente Credentials
  • Selezionare la voce Create New Client ID sotto OAuth
    • Nella maschera di Create Client ID, lasciare il valore Web application per il tipo di applicazione
    • Impostare Authorized JavaScript dell'indirizzo SSL il valore precedente (https://localhost:44300)
    • Impostare Authorized redirect URI a: https://localhost:44300/signin-google
  • Selezionare Consent
  • Impostare il proprio indirizzo email ed il nome del prodotto
  • Premere Save
  • Selezionare il menu APIs e scorrere fino alla voce Google+ API ed abilitarlo (ON)
  • Copiare ed incollare l'AppId e App Secret nel metodo UseGoogleAuthentication()
Creare una Facebook app e collegarla al progetto
  • Navigare nella Pagina per sviluppatori di Facebook
  • Se non si è registrati come sviluppatori su Facebook, effettuare la registrazione
  • Nel tab Apps, cliccare Create New App
  • Impostare una App Name ed una Category, poi premere Create App(questo deve essere univoco all'interno di Facebook.)
    L'App Namespace è la parte di URL che l'App utilizzerà per accedere all'applicazione Facebook per effettuare l'autenticazione. Se non viene specificate una App Namespace, verrà utilizzato l'App ID
  • Effettuare il Security Check
  • Selezionare Settings dal menu di sinistra
  • Nella sezione Basic Settings, selezionare Add Platform per specificare che si sta aggiungendo un sito internet (selezionare Website nella scelta della piattaforma)
  • Prendere nota di del proprio AppID e App Secret per aggiungerli all'applicazione MVC. Aggiungere una mail e salvare i dati.

    Ricordarsi che si sarà autorizzati ad autenticarsi utilizzando l'email alias che si è utilizzato per la registrazione.
  • Copiare App ID e App Secret nel file App_Start\Startup.Auth.cs
 
 
 
 
I23 di Boccaletti Emanuele
 
I23 di Boccaletti Emanuele
41121 Modena (MO)
Tel. +39 347 1302420
emanuele@i23.eu
Skype: emanuele.boccaletti
 
 
Copyright © I23 di Boccaletti Emanuele - emanuele@i23.eu