Oauth2刷新令牌给出org.springframework.dao.InvalidDataAccessApiUsageException

时间:2017-02-20 05:36:54

标签: spring-boot spring-cloud spring-security-oauth2

我已使用spring-cloud-starter-oauth2配置了OAuth2授权服务器和资源服务器。授权服务器使用JdbcTokenStore来持久化令牌(我仍然有“找不到令牌xxxx的刷新令牌”消息,这似乎是一个错误)。但是,我想在这里解决的问题是:

我可以请求新的令牌并使用它来从资源服务器获取数据。但是,一旦令牌过期,我就无法使用给定的刷新令牌刷新令牌。

使用curl:

curl -XPOST foo:secret@localhost:9009/myauthserver/oauth/token  -d grant_type=refresh_token -d refresh_token=4187f090-a355-4613-bc17-2e4565ffdc0b

将返回:

{“error”:“server_error”,“error_description”:“给定的id不能为空!;嵌套异常是java.lang.IllegalArgumentException:给定的id不能为null!”}

在后端,错误是:

  

2017-02-20 15:47:31.058 WARN 11152 --- [nio-9009-exec-9]   .m.m.a.ExceptionHandlerExceptionResolver:已解决的异常导致   由Handler执行:   org.springframework.dao.InvalidDataAccessApiUsageException:给定的   id不能为null!嵌套异常是   java.lang.IllegalArgumentException:给定的id不能为null!

有趣的是,如果我给出一个无效的令牌,它实际上会返回

{“error”:“invalid_grant”,“error_description”:“无效的刷新令牌:4187f090-a355-4613-bc17-2e4565ffdcee”}

0 个答案:

没有答案