在此设置中,OKTA是IdP,Shibboleth是SP。 OKTA正在传递属性“角色”,例如idp_dev_SLAN_Power,idp_dev_SLAN_Admin,idp_dev_SLAN_account等
我想知道是否可以在使用“ idp_dev_SLAN_”这个属性时将其删除。
这是我在当前attribute-map.xml中看到的内容。
var source = "http://test.stage.cms.9c9media.net:8080/pete-test-1.867172"
var regex = /\d\.\d+/;
var matches = source.match(regex);
if(matches)
console.log(matches[0])
我觉得我可以使用AttributeDecoder做一些事情。有什么想法吗?
答案 0 :(得分:1)
我认为您可能正在寻找Transform
类型的AttributeResolver
,
将一个或多个正则表达式应用于输入属性,以替换其值或生成新属性。 -来自Shibboleth Wiki
举一个例子:
<AttributeResolver type="Transform" source="displayName">
<Regex match="^(.+) (.+)$" dest="givenName">$1</Regex>
<Regex match="^(.+) (.+)$" dest="sn">$2</Regex>
<Regex match="^(.+) (.+)$">$2, $1</Regex>
</AttributeResolver>
将displayName
转换为两个属性givenName
和sn
。但是我敢肯定,您可以构建一个正则表达式来获取各种入站元素的idp_dev_SLAN_
并将其映射到您期望的1个或多个属性。