Azure中SAML组声明如何传入空正则替换值以去除组前缀?

问题描述
我正在使用SAML组声明,在用户登录时将其预配到应用程序的组中。Azure中的这些组带有前缀,用户登录时需去除该前缀,以分配到正确的组。
示例:
- Azure组名:Prefix-Artemis
- 应用程序组名:Artemis
我尝试使用「Apply regex replace to groups claim content」功能,但遇到问题。测试时我在正则替换模式中输入$,并将应用中的组名改为以$开头,用户登录后可正确分配,但应用中的组实际并非以$开头。因此我希望传入空值,但尝试使用""和''均无效,推测会传入''groupName,求解决建议。
解决建议
精准匹配固定前缀
- 匹配模式:输入
^Prefix-(将Prefix-替换为你实际使用的组前缀,^用于限定匹配字符串开头的前缀) - 替换模式:直接留空(不要输入任何内容,包括引号、符号)
这样配置后,Azure返回的组名会自动去掉开头的前缀,刚好匹配应用中的目标组名。
匹配任意前缀(格式为XXX-)
如果你的组前缀不固定,但都是「前缀-组名」的格式,可以用更通用的正则:
- 匹配模式:
^[^-]+- - 替换模式:留空
这个表达式会匹配从字符串开头到第一个-的所有字符,不管前缀具体内容是什么,都能准确去除。
内容的提问来源于stack exchange,提问作者Elijah Guastella
相关产品推荐
相关产品推荐

