【发布时间】:2018-06-30 21:21:37
【问题描述】:
我使用 Okta 作为 IDP,并且我已经像这样配置了用户属性语句和组属性语句
通过提供自定义 samluserdetails,我可以检索用户属性,但不能检索组属性。
public class CustomSamlUserDetails implements SAMLUserDetailsService {
@Override
public Object loadUserBySAML(SAMLCredential cred) throws UsernameNotFoundException {
AppUser user = new AppUser();
user.setFirstName(cred.getAttributeAsString("firstName"));
user.setLastName(cred.getAttributeAsString("lastName"));
user.setLoginId(cred.getAttributeAsString("loginId"));
String groupname = cred.getAttributeAsString("role"); // comes null
return user;
}
}
我是否遗漏了一些配置,或者我以错误的方式检索组信息?
编辑:
如果我使用带有某些字符的contains 过滤器,例如我有 3 个组 test1、test2 和 other1。
如果我使用contains filter *,我会得到空值。
但是,如果我将 contains 过滤器与 test 一起使用,我会得到 test1(如果用户是两个组的路径,则得到 test2)。
在组的情况下不支持通配符吗?
如果在上述情况下用户是所有 3 个组的一部分怎么办?
【问题讨论】:
标签: saml-2.0 spring-saml okta okta-api