Autenticazione tramite Windows Live ID

di: Giuseppe Marchi     03 Settembre 2008

Mentre, lato server, dobbiamo semplicemente controllare se è già presente il cookie di autenticazione ed, eventualmente, recuperarne il contenuto per ottenere l'id dell'utente.

public partial class _Default : System.Web.UI.Page
{
  private const string CookieName = "sampleLiveIdAuthCookie";
  protected static WindowsLiveLogin live = new WindowsLiveLogin(true);

  protected void Page_Load(object sender, EventArgs e)
  {
    HttpCookie loginCookie = Request.Cookies[CookieName];
    if (loginCookie != null)
    {
      string token = loginCookie.Value;
      if (!string.IsNullOrEmpty(token))
      {
        WindowsLiveLogin.User user = live.ProcessToken(token);
        if (user != null)
        {                    
          lbl.Text = "Bentornato !";
          lbl.Text += String.Format("
Userid: {0}", user.Id); } } } } }

Nell'esempio, se l'utente risulta autenticato, stampiamo a video una semplice frase di benvenuto. In applicazioni vere e proprie, attraverso l'id dell'utente autenticato e al token di autenticazione, possiamo rendere disponibili contenuti personalizzati e/o proteggere particolari risorse del nostro sito Web senza particolari sforzi e comunque, senza dover implementare da zero tutto il meccanismo di autenticazione e gestione degli utenti.

Come ultimo accorgimento, perché la classe WindowsLiveLogin funzioni correttamente, inseriamo le chiavi di configurazione nel Web.config.

<appSettings>
  <add key="wll_appid" value="..."/>
  <add key="wll_secret" value="..."/>
  <add key="wll_securityalgorithm" value="wsignin1.0"/>
</appSettings>

La prima rappresenta l'AppID relativo alla nostra applicazione, la seconda è la chiave che vogliamo utilizzare per criptare il token di autenticazione, mentre la terza rappresenta il tipo di algoritmo utilizzato per criptare le informazioni da spedire alla piattaforma di Windows live o che provengono da essa.

Conclusioni

Questo tipo di autenticazione può risultare molto comoda sia per gli sviluppatori, sia per gli utenti di un sito. I primi non devono preoccuparsi di implementare tutta la logica di autenticazione, mentre i secondi possono accedere a contenuti personalizzati senza dover effettuare una nuova registrazione e dover ricordare un nuovo account.

Giuseppe Marchi è consulente informatico in ambito Microsoft .NET e dottore in Comunicazione Digitale; co-autore del libro "Pocket C#", editore Apogeo, collabora con community on-line di sviluppatori fornendo articoli e materiale. Dal 2006 è certificato Microsoft su ASP.NET 2.0 e Microsoft Certified Technology Specialist su Windows Sharepoint Services 3.0. Il suo sito Web personale www.peppedotnet.it contiene ulteriori informazioni ed esempi di codice.

Guide ASP.Net

Guida Windows Azure Code Snippets

Le migliori pratiche per far girare le applicazioni "in the cloud",...

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Progettazione database

11 Maggio 2012 a Milano
Disponibilità: 6 Posti

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto