【问题标题】:Shibboleth SP - NameID attribute mapShibboleth SP - NameID 属性映射
【发布时间】:2017-10-18 21:14:18
【问题描述】:

我刚刚学习 Shibboleth SP,遇到了一个问题,我无法从公司 IdP 收到的 SAML 响应中读取 NameID。他们为我配置的唯一“属性”是在我们的 AD 中保存用户名的 NameID。他们不会将其添加为属性,而是添加到主题中。以下是包含 NameID 的 SAML 响应部分。

<Subject>
    <NameID>XXXXXX</NameID>
    <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
        <SubjectConfirmationData InResponseTo="_cbedab7210959e0d00294c557c648eb5"
                                     NotOnOrAfter="2017-05-18T21:15:24.776Z"
                                     Recipient="https://xxxxxx.com/Shibboleth.sso/SAML2/POST"
                                     />
    </SubjectConfirmation>
</Subject>

如何提取这个简单的值?我没有在 attribute-map.xml 中找到符合要求的示例条目。

我正在使用 IIS 8.5 和 ColdFusion。

【问题讨论】:

  • 这看起来像是 parsexml() 的工作。见:helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/…
  • 我熟悉使用 CF 解析 XML 文档(实际上我在尝试 Shibboleth 之前就是这样做的),但我认为这不是这里的解决方案。 Shibboleth 通过 ISAPI 过滤器拦截 SAML 响应,所以我不确定在那之后我什至可以获取 XML 文档。我应该能够在 attribute-map.xml 文件中添加一个项目来检索值。
  • 用我的解决方案更新了原始帖子。
  • 仅供参考 - 由于解决方案已移至“答案”,因此已回滚到原始版本。

标签: coldfusion saml iis-8 shibboleth


【解决方案1】:

我终于得到了使用以下映射的属性。就我而言,我已将 SAML:1.1 替换为 SAML2。我假设 NameID 是 SAML:1.1 规范的一部分。

<Attribute name="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" id="NameID">
    <AttributeDecoder xsi:type="NameIDAttributeDecoder" formatter="$Name" defaultQualifiers="true"/>
</Attribute>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    • 2019-07-15
    • 2016-12-22
    • 1970-01-01
    • 2015-05-16
    相关资源
    最近更新 更多