Con la diffusione massiccia di applicazioni che integrano una community, l'utilizzo di alcune funzionalità che permettano di interagire tra gli utenti, come l'uso di contatti e chat, è ormai diventata un must.
Nell'ambito dell'offerta dei servizi di Windows Live Services trovano di sicuro il favore di molti utenti i servizi Windows Live ID, Messenger e Contacts e le relative API, messe a disposizione per l'integrazione.
Chiunque abbia un account Messenger dispone infatti già di un account Windows Live ID, che può essere utilizzato per l'autenticazione all'interno dei servizi offerti da Microsoft, condividendo un solo identificativo, piuttosto che, appunto, all'interno di servizi non specificatamente web, come Messenger.
All'interno di questo articolo vedremo dunque come poter integrare nelle proprie applicazioni il supporto per l'autenticazione di Windows Live ID, l'integrazione con Messenger per poter essere contattati via web e far vedere agli utenti il proprio stato, e come poter interagire (importare, ad esempio) i contatti direttamente dal proprio account, il tutto all'interno di normalissime applicazioni, sfruttando le informazioni messe a disposizione da questi servizi.
Fermo restando che ci sono valide alternative che in alcuni casi offrono lo stesso tipo di servizio, come OpenID, questo articolo non vuole essere una raccomandazione (o peggio ancora, una esaltazione) di questo o quell'altro sistema, quanto una guida tecnica all'integrazione con uno dei fornitori di identità più diffusi al mondo, con circa 400 milioni di account disponibili. Resta inteso che è dunque concentrato su questo genere di servizi.
Autenticazione con Windows Live ID
L'idea alla base di Windows Live ID è quella di fornire l'infrastruttura necessaria a garantire l'accesso ad aree riservate utilizzando un identificativo condiviso, univoco, che è rappresentato da un indirizzo e-mail.
Il proprio Live ID può essere usato per accedere a quasi tutte le aree riservate offerte da siti gestiti da Microsoft, ma quello che pochi sanno è che è possibile integrare l'accesso anche all'interno delle proprie applicazioni, basandosi su un SDK molto semplice.
Tutte le informazioni per questa integrazione sono disponibili a partire dal sito specifico, da cui si può vedere che essenzialmente le modalità di utilizzo sono due, una per le applicazioni web ed una per le applicazioni client, con in più la possibilità di poter accedere ad una parte dei dati del profilo usando la Delegated Authentication. Per il momento ci soffermeremo sul primo scenario, il più diffuso, perchè l'accesso da parte di client non web è comunque ben documentato nell'SDK.
Nel caso specifico, l'autenticazione via web avviene con uno scambio di informazioni tra il server di Windows Live ID ed una serie di nostre pagine ad hoc, dopo l'assegnazione di un ID univoco rispetto al dominio da cui viene originata la richiesta, che viene legato per sempre al nostro account e che ovviamente va poi legato all'account presente nel nostro database utente.
L'SDK web contiene degli esempi disponibili per ASP.NET (con una serie di custom control), Java, Perl, Python, Ruby e PHP, consentendo dunque a chiunque di poter cominciare ad implementarne il supporto. Nel caso di ASP è consigliabile sfruttare una parte dell'implementazione ASP.NET, ovviamente integrando dove necessario con il proprio meccanismo di autenticazione.
Nel nostro caso procederemo alla creazione del tutto attraverso script ASP.NET custom, senza appoggiarci ai controlli esistenti, così da capire in maniera approfondita come funziona dietro le quinte questo sistema e con il vantaggio di avere una estrema semplicità di integrazione all'interno dei nostri sistemi.
Prima di cominciare, però, è necessario registrare la propria applicazione all'interno di Live ID, così da ricevere un Application ID che verrà poi utilizzato per scambiare informazioni con i server di Live ID. E' utile sottolineare che non verrà mai inviato il vero ID dell'account al nostro sistema e che non dovremo mai inviare nulla di sensibile ai server di Windows Live, perchè tutto è gestito attraverso l'identificativo univoco generato in fase di associazione dell'account. La registrazione, gratuita, avviene da questa pagina.
È necessario specificare una serie di informazioni tra cui l'URL di ritorno che Live ID chiamerà dopo aver autenticato l'utente, così da passare le informazioni alla nostra applicazione. In fase di sviluppo è possibile specificare l'eventuale nome del nostro server di sviluppo, senza necessità di agire sui file di host, perchè si tratta di un normale redirect fatto dal browser e non di una chiamata server-to-server.
Alla fine della procedurà si avrà un application ID ed una chiave segreta, da conservare perchè saranno utilizzati in seguito in fase di testing.
Attenzione: Questo articolo contiene un allegato.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.