6

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

谢谢,-帕特里克

4

2 回答 2

3

除了使用 Window 的 Live Identity Provider 的and声明之外,您什么也得不到。http://msdn.microsoft.com/en-us/library/gg185944.aspxnameidentifieridentityprovider

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

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

请注意,使用这两个可选声明将提示用户他们将在首次登录时接触您的服务。此时用户可以取消操作。我建议您只获取您真正需要的声明,因为它可能会吓跑潜在用户。

于 2012-11-25T04:20:59.067 回答
1

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

但是,您可以在 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 的服务器端方案

从另一个 Microsoft 站点:

例如,以下 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”

于 2011-06-24T14:48:50.283 回答