我们有一个需要uid的服务,但是由于我无法理解的原因,我们的IDP间歇性地退出发送它,导致服务中断。
但是,他们以uid@instution.edu的形式可靠地发送邮件
我将邮件映射到uid,但是我需要从uid中删除@ institution.edu,以使应用正常运行。该怎么办?
答案 0 :(得分:1)
您可以使用Transform
类型的<AttributeResolver>
。这是来自"TransformAttributeResolver" page of the official documentation的示例,该示例将一个属性拆分为两个新属性:
<AttributeResolver type="Transform" source="displayName">
<Regex match="^(.+) (.+)$" dest="givenName">$1</Regex>
<Regex match="^(.+) (.+)$" dest="sn">$2</Regex>
<Regex match="^(.+) (.+)$">$2, $1</Regex>
</AttributeResolver>
这将在shibboleth2.xml
中进行。在您的情况下,您可以使用类似的
<AttributeResolver type="Transform" source="mail">
<Regex match="^(.+)@mydomain.com$" dest="uidunscoped">$1</Regex>
</AttributeResolver>