Shibboleth 2.4.5不发布所需的属性

问题描述

我们已经为与Cisco Webex集成的单点登录设置了IDP Shibboleth,但由于IDP没有传递Webex授权访问所需的uid,因此我们一直在获得未经授权的访问。

IDP的回复始终包含

<saml2:NameID Format=\"urn:oasis:names:tc:SAML:2.0:nameid-format:transient\" NameQualifier=\"https://shibboleth.someaddress/idp/shibboleth\" SPNameQualifier=\"https://idbroker-eu.webex.com/key\">_68f435cf51bee4a2861d5a9420e3cdd2</saml2:NameID>

<saml2:NameID>是问题所在,需要改用mail-attr

attribute-resolver.xml 已使用此内容更新

<resolver:AttributeDefinition id="mail-attr" xsi:type="ad:Simple" 
sourceAttributeID="mail">
        <resolver:Dependency ref="MyLDAP" />
        <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="uid" />
     </resolver:AttributeDefinition>

attribute-filter.xml 具有此内容

<afp:AttributeFilterPolicy id="ReleaseToCI">
        <afp:PolicyRequirementRule xsi:type="basic:AttributeRequesterString" 
value="https://idbroker.webex.com/key" />
        <afp:AttributeRule attributeID="transientId">
            <afp:PermitValueRule xsi:type="basic:ANY"/>
        </afp:AttributeRule>
        <afp:AttributeRule attributeID="mail-attr">
            <afp:PermitValueRule xsi:type="basic:ANY" />
        </afp:AttributeRule>
    </afp:AttributeFilterPolicy>

但是响应永远不会具有mail属性,IDP的身份验证是通过LoginPassword完成的,而该部分与集成的OpenLDAP可以很好地工作。

解决方法

我没有足够的声誉来添加评论,但是请您显示以下配置:metadata-providers.xmlrelying-party.xml,我认为问题可能出在其中。因为在这些文件中,我们定义了哪些提供程序可以访问IDP。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...