【问题标题】:How to get the username from ADFS for a claims provider如何从 ADFS 获取索赔提供者的用户名
【发布时间】:2019-11-25 16:08:46
【问题描述】:

我们为 ADFS 编写了一个自定义声明提供程序。一切正常:您在我们的登录页面中输入您的用户名和凭据,它会向 ADFS 验证您的身份。只有一个令人讨厌的遗漏:如果您来自 Office 365 门户并输入您的电子邮件地址,您将被重定向到 ADFS,然后到我们的登录页面......但没有电子邮件地址。您必须重新输入才能登录。

无论如何,我看不到请求 ADFS 将电子邮件地址作为 SAML 请求的一部分转发,或者检查是否已经存在与 SAML 请求关联的电子邮件地址。

问候 罗宾威西

【问题讨论】:

    标签: security saml adfs


    【解决方案1】:

    我认为您需要查看 SAML 响应的 UID 和 Mail 属性...

    <saml:Attribute Name="uid" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
        <saml:AttributeValue xsi:type="xs:string">test</saml:AttributeValue>
      </saml:Attribute>
      <saml:Attribute Name="mail" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
        <saml:AttributeValue xsi:type="xs:string">test@example.com</saml:AttributeValue>
      </saml:Attribute>
    

    【讨论】:

    • 抱歉,我认为您误解了这个问题:ADFS 实际上是作为我们 IdP 的 SP,所以它发送的是 SAML 请求,而不是响应。我们是发送 SAML 响应的人。
    • 对不起,您能不能尝试捕获当前形式的 asfs 发送给身份提供者的内容
    • 是的,做到了:这就是为什么我知道它没有将用户名作为请求的一部分转发。我试图弄清楚是否有声明规则会影响发送给 IdP/声明提供者的请求(而不是对响应所做的处理),或者是否可以向 ADFS 发送请求以获取更多信息。跨度>
    • @RobinWithey 我们遇到了完全相同的问题。你找到解决办法了吗?
    • 嗨,Kirill,不幸的是:我们只需要输入两次用户名即可。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-02
    • 2016-02-17
    • 2021-05-23
    • 2018-03-28
    • 2017-09-18
    • 2017-06-25
    • 1970-01-01
    相关资源
    最近更新 更多