在 SP 端重新映射 Shibboleth 元素
Remapping Shibboleth elements at the SP end
我们有一项服务需要 uid,但由于我无法理解的原因,我们的 IDP 间歇性地停止发送它,导致服务中断。
但是,他们以 uid@instution.edu
的形式可靠地发送邮件
我将邮件映射到 uid,但我需要从 uid 中删除 @institution.edu 以使应用程序正常工作。如何做到这一点?
您可以使用 Transform
类型的 <AttributeResolver>
。这是 "TransformAttributeResolver" page of the official documentation 中的一个示例,它将一个属性拆分为两个新属性:
<AttributeResolver type="Transform" source="displayName">
<Regex match="^(.+) (.+)$" dest="givenName"></Regex>
<Regex match="^(.+) (.+)$" dest="sn"></Regex>
<Regex match="^(.+) (.+)$">, </Regex>
</AttributeResolver>
这将进入 shibboleth2.xml
。在您的情况下,您可以使用类似
<AttributeResolver type="Transform" source="mail">
<Regex match="^(.+)@mydomain.com$" dest="uidunscoped"></Regex>
</AttributeResolver>
我们有一项服务需要 uid,但由于我无法理解的原因,我们的 IDP 间歇性地停止发送它,导致服务中断。
但是,他们以 uid@instution.edu
的形式可靠地发送邮件我将邮件映射到 uid,但我需要从 uid 中删除 @institution.edu 以使应用程序正常工作。如何做到这一点?
您可以使用 Transform
类型的 <AttributeResolver>
。这是 "TransformAttributeResolver" page of the official documentation 中的一个示例,它将一个属性拆分为两个新属性:
<AttributeResolver type="Transform" source="displayName">
<Regex match="^(.+) (.+)$" dest="givenName"></Regex>
<Regex match="^(.+) (.+)$" dest="sn"></Regex>
<Regex match="^(.+) (.+)$">, </Regex>
</AttributeResolver>
这将进入 shibboleth2.xml
。在您的情况下,您可以使用类似
<AttributeResolver type="Transform" source="mail">
<Regex match="^(.+)@mydomain.com$" dest="uidunscoped"></Regex>
</AttributeResolver>