WSO2AM2.1.0-update12联合用户的作用域角色

WSO2AM2.1.0-update12联合用户的作用域角色,wso2,wso2-am,Wso2,Wso2 Am,使用WSO2AM 2.1.0-update12 正在尝试从具有基于角色的作用域的授权代码授予中获取令牌: 使用SAML对用户进行身份验证(SAML仅返回用户名,我们承担来自底层AD userstore的角色) 完全堆栈跟踪 我们有一个例外: DEBUG - Found Authorization Code for Client : kf2UGHFTyCzKUNgSMc65BZNCzooa, authorized user : FEDERATED/xxxxxxx@carbon.super,

使用WSO2AM 2.1.0-update12

  • 正在尝试从具有基于角色的作用域的授权代码授予中获取令牌:
  • 使用SAML对用户进行身份验证(SAML仅返回用户名,我们承担来自底层AD userstore的角色)
完全堆栈跟踪

我们有一个例外:

DEBUG -  Found Authorization Code for Client : kf2UGHFTyCzKUNgSMc65BZNCzooa, authorized user : FEDERATED/xxxxxxx@carbon.super, scope : test001_backend 

Caused by: java.lang.NullPointerException
    at org.wso2.carbon.user.core.common.UserRolesCache.isCaseSensitiveUsername(UserRolesCache.java:213)
    at org.wso2.carbon.user.core.common.UserRolesCache.getRolesListOfUser(UserRolesCache.java:128)
    at org.wso2.carbon.user.core.common.AbstractUserStoreManager.getRoleListOfUserFromCache(AbstractUserStoreManager.java:3641)
    at org.wso2.carbon.user.core.common.AbstractUserStoreManager.getRoleListOfUser(AbstractUserStoreManager.java:2730)
    ... 67 more
问题是-在wso2am基本版本2.1.0中,授权正在运行,需要升级以支持组之间的应用程序共享

有什么提示吗

编辑:


更改是-通过SAML返回的用户被分配了域联合(因此完整的域用户名是联合的/username,userstore无法识别),使用基本版本2.1.0工作(我不确定是否设置了联合域,但用户角色和作用域已正确验证)

作为解决方案-我们已经覆盖了userstore maanger上的方法
GetRoleListFuser
,从用户名中剥离了领域(联邦)