asp.net-mvc-3 – AZURE ACS – Windows Live ID – 如何获取经过身份验证的用户的电子邮件和名称?

这是场景:

MVC 3应用程序在AZURE Dev环境中运行
AZURE ACS中的身份验证以与此处http://msdn.microsoft.com/en-us/library/hh127794.aspx相同的方式实现

我试图获取用户名和电子邮件,但我找不到配置“声明规则”的方法,我会得到一个明确的文本值,而是我得到一个似乎是加密的字符串.
那么我可以用明文的方式配置规则吗?或者我可以解密返回的值吗?
这是否可能,或者我在这里看错了什么.

谢谢

解决方法

IIRC,违反Windows Live隐私政策,将用户的姓名或电子邮件地址作为声明发布(与Gmail或Yahoo!不同).因此,不可能从Live获取这些声明(除非您碰巧是Microsoft).

您可以获得的唯一值称为名称标识符.它对于每个RP域是唯一的(即,它不是每个LiveID的单个值,而是因域而不同).这也是故意的,因此您不能让不同的网站协作来跟踪用户.通常情况下,您将获得名称标识符(称为PUID),然后将其粘贴到您的数据库中,以便您知道之前已经看过它.然后,用户在您身边注册姓名,电子邮件等,并将其与PUID相关联.

另一方面,LiveId也支持OAuth2,因此您可以从用户那里获得所需的任何用户配置文件信息(经他/她同意).见here.

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...