Windows Live ID是否通过ACS 2.0身份提供商提供任何其他声明



据我所知,目前ACS 2.0中默认的Windows Live ID身份提供程序只提供两种声明-名称标识符(与用户和应用程序相关的base64唯一ID,但对描述某人毫无用处)和身份提供程序声明,这两种声明可以让您知道您与LiveID的对话。我想知道是否可以为Window Live ID配置一个替代身份提供商,该提供商可以通过其他声明提供姓名和其他Live ID配置文件信息。

谢谢,-Patrick

使用Window的Live Identity Provider,除了nameidentifieridentityprovider声明外,您不能获得任何东西。http://msdn.microsoft.com/en-us/library/gg185944.aspx

Azure ACS 2.0可用的其他提供商都在此链接中详细列出。http://msdn.microsoft.com/en-us/library/gg185971.aspx

仅供参考-谷歌;雅虎作为IP提供了额外但可选的声明emailaddress&name。因此,您还可以检索一个示例,John Doe&john.doe@gmail.com

请注意,使用这两个可选声明将提示用户,当他们第一次登录时,他们将暴露在您的服务中。此时,用户可以取消操作。我建议你只得到你真正需要的声明,因为这可能会吓跑潜在用户。

我以前对此进行过调查,发现直接的答案是否定的。

但是,您可以使用带有ACS的链中ADFS来注入更多声明。

似乎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"
}

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

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

来自另一个微软网站:

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

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

"id":"8c8ce076ca27823f","name":"Roberto Tamburello",
"first_name":"Roberto",
"last_name":"Tamburello",
"gender":null,"locale":"en_US"

相关内容

最新更新