启用GroupExtractor后,wso2am-2.6.0无法生成令牌

时间:2018-11-27 12:25:34

标签: wso2 wso2-am

使用WSO2AM-2.6.0和组应用程序共享

启用应用程序组共享

<APIStore>
<GroupingExtractor>org.wso2.carbon.apimgt.impl.DefaultGroupIDExtractorImpl</GroupingExtractor>

除了以下例外情况,不可能从商店生成令牌

TID: [-1234] [] [2018-11-27 12:56:11,039] ERROR {org.wso2.carbon.identity.oauth2.OAuth2Service} -  Error occurred while issuing the access token for Client ID : 4t4aXBQTmW55av0KgGVuIseqGvAa, User ID null, Scope : [default] and Grant Type : client_credentials {org.wso2.carbon.identity.oauth2.OAuth2Service}
java.lang.NullPointerException
    at org.wso2.carbon.apimgt.impl.dao.ApiMgtDAO.getApplicationByClientId(ApiMgtDAO.java:11516)
    at org.wso2.carbon.apimgt.impl.utils.APIUtil.getApplicationByClientId(APIUtil.java:7426)
    at org.wso2.carbon.apimgt.keymgt.issuers.APIMTokenIssuer.renewAccessTokenPerRequest(APIMTokenIssuer.java:157)
    at org.wso2.carbon.identity.oauth2.token.handlers.grant.AbstractAuthorizationGrantHandler.accessTokenNotRenewedPerRequest(AbstractAuthorizationGrantHandler.java:808)
    at org.wso2.carbon.identity.oauth2.token.handlers.grant.AbstractAuthorizationGrantHandler.issue(AbstractAuthorizationGrantHandler.java:129)

将代码追溯到

if (multiGroupAppSharingEnabled) {
  if (application.getGroupId().isEmpty()) {
     application.setGroupId(getGroupId(application.getId()));
  }
}

,此问题的直接原因是application.getGroupId()为null。以及在数据库中。

我已经打开了一个问题 https://github.com/wso2/carbon-apimgt/issues/5874

但是我希望有一种使用应用程序组共享的方法

1 个答案:

答案 0 :(得分:1)

这似乎在开发分支中已解决。

https://github.com/wso2/carbon-apimgt/pull/5841/files

编辑:似乎修复不是我们这里需要的。添加了新的修复程序。

https://github.com/wso2/carbon-apimgt/pull/5875/files