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



Using WSO2AM 2.1.0-update12

  • 尝试从具有基于角色的作用域的授权代码授予中获取令牌:
  • 使用 SAML
  • 对用户进行身份验证(SAML 仅返回用户名,我们代入底层 AD 用户存储中的角色(。

提供完整的堆栈跟踪

我们有一个例外:

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 返回的用户被分配了域联合(因此完整的域用户名是联合/用户名,用户存储无法识别(,使用基本版本 2.1.0 工作(我不确定是否设置了联合域,但用户角色和范围已正确验证(

作为解决方案,我们已经覆盖了用户存储管理器上getRoleListOfUser的方法,从用户名中剥离领域(联合(。

最新更新