2011-10-24 19 views
6

Aquí está el panorama:AZURE ACS - Windows Live ID - ¿Cómo obtengo el correo electrónico y el nombre del usuario autenticado?

MVC 3 aplicación runing en AZUL Dev favorable al medio autenticación en AZUL ACS implementa la misma manera se encuentran aquí http://msdn.microsoft.com/en-us/library/hh127794.aspx

Estoy tratando de obtener el nombre de los usuarios, y el correo electrónico, pero puedo No encuentro una forma de configurar la "Regla de reclamo", de manera que obtengo un valor de texto claro, en su lugar aparece una cadena que parece estar encriptada. Entonces, ¿puedo configurar la regla de manera que la obtenga en texto claro? ¿O puedo descifrar el valor devuelto? Esto es posible o estoy buscando algo incorrecto aquí.

Gracias

Respuesta

10

IIRC, es contra la política de privacidad de Windows Live para liberar nombre o dirección de correo electrónico del usuario como reclamaciones (a diferencia de Gmail o Yahoo!). Como tal, no es posible obtener esos reclamos de Live (a menos que sea Microsoft).

El único valor que puede obtener se llama identificador de nombre. Es único por dominio RP (es decir, no es un valor único por LiveID, pero difiere según el dominio). Esto también es intencional, por lo que no puede tener diferentes sitios web colaborando para rastrear a un usuario. Normalmente, obtendrá el identificador de nombre (llamado PUID) y luego lo incluirá en su base de datos en alguna parte para que sepa que lo ha visto antes. Luego el usuario se registra de su lado con el nombre, el correo electrónico, etc. y lo correlaciona con el PUID.

Por otro lado, LiveId también es compatible con OAuth2, por lo que puede obtener la información de perfil de usuario que necesita del usuario (con su consentimiento). Ver here.

+0

Qué te impide la construcción de un STS personalizados con unas pocas líneas de código que utiliza el lado del servidor conectar API para añadir un correo +-nombre completo como demandas adicionales? http://msdn.microsoft.com/en-us/library/hh243649.aspx – Nariman

+0

Esto enumera todos los proveedores y sus detalles en Azure ACS http://msdn.microsoft.com/en-us/library/gg185971.aspx y no dunnry dijo que solo puede obtener los reclamos de identificador de identificador de identificador de Windows Live y ver esto para verificación. http://msdn.microsoft.com/en-us/library/gg185944.aspx –

1

posible, pero requiere un poco de código para un STS personalizados:

https://gist.github.com/1867792

Código no se acumula y las dependencias no están incluidos ... pero se basa en gran medida fuera de un sitio de arranque temprano thinktecture portado a MVC4 con los cambios que se muestran arriba.

8

Esto es un #FAIL total por parte de Microsoft. Los usuarios, al iniciar sesión en su sitio usando Google u otros proveedores, tienen que aceptar primero. Luego simplemente pasan la información básica al sitio, el sitio lo usa y todos están felices.

BTW puede obtenerlo del usuario con páginas de códigos entre bastidores pero no es perfecto para el usuario, requiere un proceso manual, pero no obstante el sistema LiveID no es más seguro para hacerlo, simplemente se rompe.

-1

Es posible por iFrame Trick.

<iframe src="https://login.live.com/login.srf?wa=wsignout1.0" frameborder="0"></iframe> 

esta costumbre le redirigirá a la página de MSN

0

Este blog explica la creación de una ventana personalizados viven STS proveedor y luego incorporarlo como un proveedor de identidad de confianza en SharePoint.

http://blogs.technet.com/b/speschka/archive/2012/03/01/finally-a-useful-way-to-federate-with-windows-live-and-sharepoint-2010-using-oauth-and-saml.aspx

Desgraciadamente parece que el equipo de Azure simplemente no parecen entender que la gente lo desea, puede conseguir realmente algo útil de vuelta de Windows Live ID.

También puede eliminar el ID de Windows Live como una opción para iniciar sesión haciendo clic en él en los proveedores de Identidad, y luego desmarcando la asociación con su parte dependiente.

(Realmente extraño que no se puede optar por eliminar it = P)

0

Hay un par de técnicas para la consulta de los servidores de juego para obtener información adicional acerca de los usuarios autenticados (por supuesto siempre que hayan dado su consentimiento) . Puede hacer una personalización simple en su sitio usando javascript del lado del cliente para buscar la información como se muestra en el ejemplo aquí: http://msdn.microsoft.com/en-us/library/live/hh826534.aspx.

También es posible, aunque un poco más complicado, consultar los servidores en vivo desde el código del lado del servidor. La aplicación de ejemplo descrita en http://dominicbetts.github.io/waad-acs-sample/index.html muestra un enfoque posible en una aplicación MVC4.

Cuestiones relacionadas