丢失令牌刷新的身份验证详细信息

时间:2018-04-11 15:45:33

标签: spring-security spring-security-oauth2

将spring-security-oauth2与刷新令牌一起使用时,我从刷新的access_token中获取详细信息(OAuth2Authentication.getDetails())时遇到问题,因为它们在我在调试中看到的refreshAccessToken @ DefaultTokenServices中丢失了。首次刷新前会显示详细信息。

我在https://github.com/spring-projects/spring-security-oauth/pull/581看到了一个修复,但这些修改未在三年内提交。

我很惊讶那里3年内没有关于这个话题的抱怨了,我想知道人们是如何解决这个问题的。

1 个答案:

答案 0 :(得分:0)

经过一番调查,我能够解决问题如下。

所有这些都是误解的配置,@EnableAuthorizationServer@EnableResourceServer定义之间存在冲突。

在两个类中设置相同的配置,我能够使用扩展TokenEnhancerJwtAccessTokenConverter的自定义类来解决问题。

我还将依赖项更新为上一版本:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
    <version>2.0.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.security.oauth</groupId>
    <artifactId>spring-security-oauth2</artifactId>
    <version>2.3.2.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-core</artifactId>
    <version>5.0.4.RELEASE</version>
</dependency>