这是场景:
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.