我们已经为与 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
使用此内容更新属性解析器.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>
具有此内容的属性-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>
但是响应从来没有邮件属性,IDP 的身份验证是使用 LoginPassword 完成的,并且该部分与 OpenLDAP 集成工作正常。