我正在尝试将WSO2-AM用于联合用户。我已成功使用隐式授权对联合用户进行身份验证,但是授权代码授权存在问题。
具体来说,使用时
<GrantTypeHandlerImplClass>org.wso2.carbon.apimgt.keymgt.handlers.ExtendedAuthorizationCodeGrantHandler</GrantTypeHandlerImplClass>
我收到错误
TID: [-1234] [] [2018-05-27 22:48:18,476] ERROR {org.wso2.carbon.apimgt.keymgt.issuers.RoleBasedScopesIssuer} - Error when getting the tena nt's UserStoreManager or when getting roles of user org.wso2.carbon.user.core.UserStoreException: Invalid Domain Name at org.wso2.carbon.user.core.common.AbstractUserStoreManager.callSecure(AbstractUserStoreManager.java:173) at org.wso2.carbon.user.core.common.AbstractUserStoreManager.getRoleListOfUser(AbstractUserStoreManager.java:2716) at org.wso2.carbon.apimgt.keymgt.issuers.RoleBasedScopesIssuer.getScopes(RoleBasedScopesIssuer.java:131) at org.wso2.carbon.apimgt.keymgt.ScopesIssuer.setScopes(ScopesIssuer.java:109) at org.wso2.carbon.apimgt.keymgt.handlers.ExtendedAuthorizationCodeGrantHandler.validateScope(ExtendedAuthorizationCodeGrantHandler. java:48)
因为它在调用相关的AbstractUserStoreManager方法时不喜欢经过身份验证的用户的“FEDERATED”域。
之前有没有人遇到过这个问题,或者可能知道如何在API Manager中处理联合用户?
P.S。如果我改为使用Identity Server类
org.wso2.carbon.identity.oauth2.token.handlers.grant.AuthorizationCodeGrantHandler
这一切都适用于联邦用户。