Desenvolvimento - Visual Basic .NET

Windows Live – Introdução ao Windows Live ID

O Windows Live ID é o serviço base para grande parte dos serviços da plataforma Windows Live, muitos dos serviços requerem que os usuários tenham um Windows Live ID e faça um login no sistema.

por Cleber Dantas



No ultimo artigo vimos uma introdução a plataforma Windows Live (Windows Live - Introdução a plataforma Windows Live), embora tenha dito que a seqüência dos artigos trataria de assuntos específicos (mostrando realmente na prática como trabalhar com os serviços Windows Live) resolvi escrever este artigo de introdução ao Windows Live ID, pois realmente é algo grande e assim podemos nivelar nosso conhecimento para aí sim partir para artigos específicos sobe cada serviço. Só lembrando que Windows Live ID é o serviço base para grande parte dos serviços da plataforma Windows Live, muitos dos serviços requerem que os usuários tenham um Windows Live ID e faça um login no sistema.

Introdução

logo_live_id.jpg

Windows Live ID (antes conhecido como Passport network) é o sistema de identidade e autenticação para todos os serviços online providos pela plataforma Windows Live e serviços Microsoft em geral. Atualmente cerca de 380 milhões de usuários tem credenciais que trabalham com o Windows Live ID (normalmente adquirem quando criam uma conta no Windows Live Hotmail ou passam a utilizar o Windows Live Messenger), desse total de usuários cerca de 35 milhões só no Brasil.

A Microsoft disponibiliza três SDK’s (Software Development Kit) que tornam possível para nós desenvolvedores usar este poderoso serviço.

O que pode ser feito

Criando aplicações Web ou Windows que combinam autenticação de usuários com outros serviços Windows Live, você pode oferecer a seus usuários experiências online únicas e inovadoras. Veja algumas vantagens de se utilizar Windows Live ID em suas aplicações:

· Várias funcionalidades dentro dos serviços e produtos Windows Live que só é possível serem utilizadas quando os usuários estão autenticados.

· Single sign-on entre suas aplicações

· Em conjunto com o Windows Live App Storage guardar informações de estado/configuração de seus usuários nos data centers Windows Live.

· Utilizar um sistema de identidade e autenticação mundialmente conhecido em suas aplicações.

Como pode ser feito

Atualmente existem três SDK’s disponibilizados pelo time de Windows Live, são eles:

· Web Authentication SDK (versão 1.1)

· Delegated Authentication SDK (versão 1.0)

· Client Authentication (versão 1.0)

Vamos entender cada um deles.

Windows Live ID Web Authentication SDK

Com este SDK você pode utilizar o serviço Windows Live ID para verificar a identidade dos visitantes do seu Site, podendo então disponibilizar um acesso personalizado ao seu conteúdo para qualquer um dos milhões de usuários que tem Windows Live ID. O serviço Windows Live ID te retorna um identificador único e especifico para um Site para cada usuário que loga no seu Site. Você pode usar este identificador (ticket) para mostrar um conteúdo personalizado para este usuário, gerenciar o acesso/permissão deste usuário nos recursos do seu Site e executar qualquer outra tarefa que diz respeito a este usuário dentro de sua aplicação.

O serviço Windows Live ID executa a autenticação do usuário em seu site e gerencia as funções relacionadas a esta autenticação, então você não precisa se preocupar com detalhes dessa implementação, é só abstrair e perder tempo pensando no que realmente importa para a sua aplicação.

Este SDK inclui aplicações de exemplo e implementações em C# (ASP. NET), VB. NET (ASP. NET), Java, Perl, PHP, Python e Ruby.

OBS: O serviço Windows Live ID não lhe dá acesso as informações de perfil dos usuários, ou seja, o serviço não compartilha essas informações com o seu Site.

Link de Download do SDK: http://www.microsoft.com/downloads/details.aspx?FamilyId=24195B4E-6335-4844-A71D-7D395D20E67B&displaylang=en

Windows Live ID Delegated Authentication SDK

Uma vez na internet a privacidade do usuário é algo extremamente importante. Por exemplo: Desenvolver um site que acesse dados dos contatos do Windows Live Hotmail de um usuário requer a autorização desse usuário para que o site possa fazer uso dos dados, sem isso não seria possível, já imaginou seus dados de contato em qualquer site exposto para qualquer um visualizar? Acho que não seria nada legal.

Windows Live ID Delegated Authentication é uma nova feature oferecida pela Microsoft que dá aos usuários do Windows Live ID a possibilidade de permitir o acesso aos seus dados pessoais a um site de maneira flexível (o usuário diz se o site terá direito de leitura ou leitura/escrita em seus contatos, por exemplo, ou ainda revogar a qualquer momento a permissão daquele site aos seus dados.  

Este SDK também inclui aplicações de exemplo e implementações em C# (ASP. NET), VB. NET (ASP. NET), Java, Perl, PHP, Python e Ruby.

Link de Download do SDK:
http://www.microsoft.com/downloads/details.aspx?FamilyId=AA1BDD38-33D0-464B-AEDB-DBB522DEEFD2&displaylang=en

Windows Live ID Client Authentication SDK

Este SDK permite criar um sistema de identidade e autenticação para aplicações Windows Forms e ao mesmo tempo compartilhar esta autenticação com outras aplicações Windows ou até mesmo compartilhar com outras aplicações Web. A API é exposta como um assembly do .NET Framework 2.0 que deve ser adicionado como referencia dentro de sua aplicação Windows Forms, o SDK ainda inclui uma aplicação de exemplo com uma caixa de diálogo de Login pronta para ser usada.

OBS: está tela de login não é a mesma utilizada no Windows Live Messenger embora pareça muito.

Login.gif
Figura 1: Caixa de diálogo de Login

Link de Download do SDK:

http://www.microsoft.com/downloads/details.aspx?FamilyID=b5a78784-922d-4267-a6e9-5d2ecf1dced8&displaylang=en

Conclusão

Windows Live ID é um poderoso sistema de identidade e autenticação provido pela Microsoft e agora nós podemos utilizar este poderoso serviço em nossas próprias aplicações de uma maneira relativamente fácil, no próximo artigo que disponibilizarei trataremos a fundo os detalhes de implementação do primeiro SDK aqui citado (Web Authentication SDK) e posteriormente os outros dois SDK’s. Qualquer dúvida, crítica ou sugestão fale comigo: cleberwd@hotmail.com

Cleber Dantas

Cleber Dantas - Ministra palestras e mini-cursos, MSP (Microsoft Student Partner), MCAD (Microsoft Certified Application Developer) e MCTS (Microsoft certified Technology Specialist). Membro do comitê Web/Infra do INETA Brasil (International .NET Association), colaborador do Portal Linha de código e IMasters. Trabalha com a plataforma .NET desde 2003.