Oauth 2.0 WSO2的访问令牌始终无效

Oauth 2.0 WSO2的访问令牌始终无效,oauth-2.0,wso2is,spark-java,Oauth 2.0,Wso2is,Spark Java,我使用和构建了一个简单的Web应用程序。它应该使用OAuth 2“授权码授权”,通过WSO2 Identity Server 5.0.0对用户进行身份验证 OAuth流似乎工作正常,但并不完全正常: 用户被重定向到WSO2(/oauth2/authorize?response\u type=code&client\u id=foo&redirect\u uri=bar&scope=openid&prompt=approve) 用户使用用户名/密码进行标识 用户同意与我的Web应用程序交换索赔

我使用和构建了一个简单的Web应用程序。它应该使用OAuth 2“授权码授权”,通过WSO2 Identity Server 5.0.0对用户进行身份验证

OAuth流似乎工作正常,但并不完全正常:

  • 用户被重定向到WSO2(
    /oauth2/authorize?response\u type=code&client\u id=foo&redirect\u uri=bar&scope=openid&prompt=approve
  • 用户使用用户名/密码进行标识
  • 用户同意与我的Web应用程序交换索赔
  • 我的Web应用程序将收到的代码交换为访问令牌和刷新令牌
但是,最后pac4j使用访问令牌检索用户配置文件(
/oauth2/userinfo?schema=openid
)。这总是给我答案

{"error":"invalid_token","error_description":"Access token validation failed"}
和WSO2日志

TID:[0][IS][2018-03-14 16:20:30446]调试{org.wso2.carbon.identity.oauth.endpoint.user.OpenIDConnectUserEndpoint}-org.wso2.carbon.identity.oauth.user.UserInfoEndpointException:访问令牌验证失败{org.wso2.carbon.identity.oauth.endpoint.user.OpenIDConnectUserEndpoint}

访问令牌仍然存在于
IDN\u OAUTH2\u access\u令牌
数据库表中:

TIME_CREATED            VALIDITY_PERIOD TOKEN_STATE TOKEN_STATE_ID
------------------------------------------------------------------
2018-03-14 10:40:35.940 3600000         ACTIVE      NONE
我不明白为什么WSO2说我的访问令牌无效


有人能解释一下吗?

虽然很奇怪。。。删除WSO2数据库中的所有访问令牌和授权令牌解决了此问题。

尝试在日志中查找原因。查看,应该有来自TokenValidationHandler.buildClientAppErrorResponse()方法的调试消息。问题中已经包含WSO2提供的唯一日志记录。