在 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>