【问题标题】:Missing claims from AppFabricLabsAppFabricLabs 缺少声明
【发布时间】:2011-07-24 02:59:56
【问题描述】:

我在 appfabriclabs 的 Windows Live、Facebook、Google 和 Yahoo 的 ACS 中为“名称”和“电子邮件地址”声明创建了规则……但是在依赖方方面,WIF 似乎没有看到它们……我请参阅 nameidentifieridentityprovider,但仅此而已。

我还需要 ACS 中的其他东西来完成这项工作吗?如何检查声明是否确实存在?

* 更新 *

显然,只有 Windows Live 失败了;其他提供者将我配置的声明返回给我。此外,电子邮件地址的声明(例如)我手动配置,因为 ACS 没有它...我输入类型为http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress 并将其指示为直通... Windows Live 是否不提供电子邮件地址?

* 更新二 *

嗯...根据this article 我不能只配置它;我将不得不做一些其他的巫术来解决它......但必须有一些方法来获得比 /nameidentifier/ 更多的东西,因为当我使用 Windows Live ID 登录网站时,我显示为正在登录作为“ekkis”——有人知道这是怎么做到的吗?

【问题讨论】:

    标签: claims-based-identity federated-identity wif


    【解决方案1】:

    很遗憾,除非您在 MSFT 中开发应用程序,否则 LiveID 只能提供名称标识符。这是设计使然。如果您想使用 LiveID 并需要电子邮件,则需要向用户索取,然后自己关联 nameidentifier 电子邮件。

    【讨论】:

    • 嘿@Eugenio!我确实发现 LiveID 有一个 Javascript API。我开始尝试实施,但未能使其工作......请参阅 SO 文章:*.com/questions/6810831/…