WSO2 API 以 WSO2 IS 作为 KeyManager - 使用 OAuth 授权时的 NPE
WSO2 API with WSO2 IS as KeyManager - NPE when using OAuth authorization
拥有 WSO2 API Manager 2.1.0 和 WSO2 IS 5.3.0 KM(带有预打包的密钥管理器)我将密钥管理器设置为 described in the documentation。
主要目的是使用其他联合 IdP 对用户进行身份验证和授权,并添加一些授权功能。我的假设是使用 WSO2IS 授权的用户将收到一个对定义的 APP 和 API.
有效的 OAuth 令牌
到目前为止,所有内容都在 IS 偏移量为 1 的本地主机上。我创建了一个 API,一个可以从 API 商店使用的应用程序。
当尝试通过 WSO2 IS 使用代码 grant_type 授权客户端时:
https://localhost:9444/oauth2/authorize?response_type=code&client_id=KJTbkbFmcDvslo2fjhzfQkaBH3Ea&redirect_uri=http%3A//localhost%3A8080/test2/callback
我被要求提供凭据和授权(看起来没问题),然后我在 IS 上收到异常:
[2018-03-27 10:43:51,822] ERROR {org.apache.catalina.core.StandardWrapperValve} - Servlet.service() for servlet [OAuth2Endpoints] in context with path [/oauth2] threw exception
java.lang.RuntimeException: org.apache.cxf.interceptor.Fault
at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:116)
...
Caused by: java.lang.NullPointerException
at org.wso2.carbon.identity.oauth.endpoint.authz.OAuth2AuthzEndpoint.authorize(OAuth2AuthzEndpoint.java:251)
at org.wso2.carbon.identity.oauth.endpoint.authz.OAuth2AuthzEndpoint.sendRequestToFramework(OAuth2AuthzEndpoint.java:1163)
at org.wso2.carbon.identity.oauth.endpoint.authz.OAuth2AuthzEndpoint.authorize(OAuth2AuthzEndpoint.java:135)
at org.wso2.carbon.identity.oauth.endpoint.authz.OAuth2AuthzEndpoint.authorizePost(OAuth2AuthzEndpoint.java:574)
我假设我错误地配置了一些端点,但是 - 知道 OAuth2AuthzEndpoint 实现调用了哪个服务或导致此异常的潜在原因吗?
这已在 https://wso2.org/jira/browse/IDENTITY-5581 中报告。
您可以通过 WUM 更新 WSO2 IS 5.3.0 来解决问题。
拥有 WSO2 API Manager 2.1.0 和 WSO2 IS 5.3.0 KM(带有预打包的密钥管理器)我将密钥管理器设置为 described in the documentation。
主要目的是使用其他联合 IdP 对用户进行身份验证和授权,并添加一些授权功能。我的假设是使用 WSO2IS 授权的用户将收到一个对定义的 APP 和 API.
有效的 OAuth 令牌到目前为止,所有内容都在 IS 偏移量为 1 的本地主机上。我创建了一个 API,一个可以从 API 商店使用的应用程序。
当尝试通过 WSO2 IS 使用代码 grant_type 授权客户端时:
https://localhost:9444/oauth2/authorize?response_type=code&client_id=KJTbkbFmcDvslo2fjhzfQkaBH3Ea&redirect_uri=http%3A//localhost%3A8080/test2/callback
我被要求提供凭据和授权(看起来没问题),然后我在 IS 上收到异常:
[2018-03-27 10:43:51,822] ERROR {org.apache.catalina.core.StandardWrapperValve} - Servlet.service() for servlet [OAuth2Endpoints] in context with path [/oauth2] threw exception
java.lang.RuntimeException: org.apache.cxf.interceptor.Fault
at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:116)
...
Caused by: java.lang.NullPointerException
at org.wso2.carbon.identity.oauth.endpoint.authz.OAuth2AuthzEndpoint.authorize(OAuth2AuthzEndpoint.java:251)
at org.wso2.carbon.identity.oauth.endpoint.authz.OAuth2AuthzEndpoint.sendRequestToFramework(OAuth2AuthzEndpoint.java:1163)
at org.wso2.carbon.identity.oauth.endpoint.authz.OAuth2AuthzEndpoint.authorize(OAuth2AuthzEndpoint.java:135)
at org.wso2.carbon.identity.oauth.endpoint.authz.OAuth2AuthzEndpoint.authorizePost(OAuth2AuthzEndpoint.java:574)
我假设我错误地配置了一些端点,但是 - 知道 OAuth2AuthzEndpoint 实现调用了哪个服务或导致此异常的潜在原因吗?
这已在 https://wso2.org/jira/browse/IDENTITY-5581 中报告。
您可以通过 WUM 更新 WSO2 IS 5.3.0 来解决问题。