【问题标题】:MVC3 and ACS ClaimsIdentityMVC3 和 ACS ClaimsIdentity
【发布时间】:2012-09-11 13:36:34
【问题描述】:

我一直在使用 Azure ACS,它非常酷,我想我会在我的下一个项目中使用它..

我有一个问题是,当我取回我的 ClaimsIdentity 时,它非常空,只有电子邮件和姓名。这是设计使然吗?

是否有可能获得更多信息?我真的希望我可以将用户的头像用于服务..

任何帮助都会很棒。

干杯。 步骤。

【问题讨论】:

    标签: asp.net asp.net-mvc-3 azure acs


    【解决方案1】:

    返回的声明几乎由身份提供者自行决定。每个都可以返回不同的声明(有关每个身份提供者返回的详细信息,请参阅http://msdn.microsoft.com/en-us/library/windowsazure/gg185971.aspx)。您只能保证获得每个身份提供者返回的“名称标识符”和“身份提供者”声明。

    更多有用信息请访问http://msdn.microsoft.com/en-us/library/windowsazure/gg185933.aspx

    【讨论】:

    • 谢谢您,您是否可以获得更多信息,或者使用 OpenAuth 之类的东西会更好?
    【解决方案2】:

    正如@mcollier 所写,所提供的声明通常取决于 IdP 的报价。但是,您可以丰富 ACS 中的安全令牌并添加任意声明。你可以写一条规则:

    “当某人使用 email=someone@gmail.com 向 Google 进行身份验证时,发出类型为 role 且值为 ma​​nager 的声明”

    所以你可以在这样的规则中添加任何东西(包括头像)。

    ACS 本质上是声明的“规范化器”,它将来自任何 IdP 的令牌中的声明转换为您的应用可以理解的内容。

    请注意,受您控制的 IdP(例如您自己的 ADFS 服务器或公司的第 3 方 IdP)可以提供额外的声明。通常受限的是预先配置的内容(例如电子邮件、姓名、ID)。

    您可以使用 ACS 门户、API 或通过像 Auth10 这样的第三方工具(使用 API)自行定义转换规则。

    【讨论】:

    • 感谢这位朋友,真的很有帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    相关资源
    最近更新 更多