是否可以通过ACS 2.0身份提供商从Windows Live ID获得任何其他声明?

Pat*_*son 6 windows windows-live-id acs

据我所知,目前ACS 2.0中的默认Windows Live ID身份提供程序仅提供两个声明nameidentifier(与用户和您的应用程序关联的base64唯一ID,但对描述某人无用)以及identityprovider声明,它让您知道您的与LiveID交谈.我想知道是否可以为Window Live ID配置替代身份提供程序,该提供程序可以通过其他声明提供名称和其他Live ID配置文件信息.

谢谢,-Patrick

Fro*_*røm 1

我之前调查过这个问题,发现直接的答案是否定的。

但是,您可以将 ADFS 与 ACS 串联使用来注入更多声明。

LiveId 设置似乎允许您发布令牌来获取类似信息

{
   "id": "b6b2a7e8f2515e5", 
   "name": "Apurva Dalia", 
   "first_name": "Apurva", 
   "last_name": "Dalia", 
   "gender": null, 
   "link": "http://cid-b6b2a7e8f2515e5.profile.live.com/", 
   "locale": "en_US", 
   "updated_time": "2011-10-26T21:13:05+0000"
}
Run Code Online (Sandbox Code Playgroud)

如果这是真的,那么您可以将此信息注入给调用者。

请参阅Live SDK 的服务器端场景。

来自另一个 Microsoft 站点:

例如,以下 GET 请求(未指定任何访问令牌)将返回用户的公共配置文件信息。 https://apis.live.net/v5.0/8c8ce076ca27823f

Windows Live 返回的信息如下所示。

“id”:“8c8ce076ca27823f”,“姓名”:“罗伯托·坦布雷洛”,
“名字”:“罗伯托”,
“姓氏”:“坦布雷洛”,
“性别”:空,“区域设置”:“en_US”