1
我创建了一个认证服务器和资源服务器,两者都正常工作,唯一的问题是刷新令牌,我希望在调用POST /oauth/token
后使用grant_type=refresh_token
更改,但是,spring返回相同的刷新标记。刷新访问令牌后弹出OAuth2刷新令牌
我想知道在调用oauth端点刷新访问令牌时是否有办法获得新的刷新标记?
我创建了一个认证服务器和资源服务器,两者都正常工作,唯一的问题是刷新令牌,我希望在调用POST /oauth/token
后使用grant_type=refresh_token
更改,但是,spring返回相同的刷新标记。刷新访问令牌后弹出OAuth2刷新令牌
我想知道在调用oauth端点刷新访问令牌时是否有办法获得新的刷新标记?
通过在DefaultTokenServices
类考虑看看refreshAccessToken
方法:
public OAuth2AccessToken refreshAccessToken(String refreshTokenValue,
TokenRequest tokenRequest) {
// Omitted
if (!reuseRefreshToken) {
tokenStore.removeRefreshToken(refreshToken);
refreshToken = createRefreshToken(authentication);
}
// Omitted
}
你应该以某种方式reuseRefreshToken
标志设置为false
。你可以在你的AuthorizationServerConfigurerAdapter
实施中做到这一点:
@Configuration
@EnableAuthorizationServer
public class AuthorizationServer extends AuthorizationServerConfigurerAdapter {
// Other methods
@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
endpoints
.reuseRefreshTokens(false);
}
}
谢谢你的男人,工作就像一个魅力! – nspessot