一、什么是 token 刷新

token 刷新是指当用户的 access_token 过期时,用户可以使用 refresh_token 来获取新的 access_token,以此来维持用户的访问状态。

二、SpringBootSecurity 中 OAuth2.0 如何刷新 token

在 SpringBootSecurity 中,OAuth2.0 刷新 token 的过程如下:

1、客户端向服务器发起请求,请求中携带 refresh_token。

2、服务器验证 refresh_token,如果 refresh_token 有效,则生成新的 access_token,并将新的 access_token 和 refresh_token 返回给客户端。

3、客户端接收到新的 access_token 和 refresh_token,以新的 access_token 作为令牌,向服务器发起请求,以此来实现 token 刷新。

三、SpringBootSecurity 中 OAuth2.0 如何实现 token 刷新

在 SpringBootSecurity 中,可以通过实现 AuthorizationServerConfigurerAdapter 接口的 configure(AuthorizationServerEndpointsConfigurer endpoints) 方法来实现 token 刷新。

@Configurationpublic class OAuth2AuthorizationServer extends AuthorizationServerConfigurerAdapter {@Overridepublic void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {endpoints.tokenStore(tokenStore()).accessTokenConverter(accessTokenConverter()).tokenEnhancer(tokenEnhancerChain()).reuseRefreshTokens(false);}//省略其他代码}
Java

上面的代码中,reuseRefreshTokens(false) 表示每次使用 refresh_token 都会生成新的 access_token,从而实现 token 刷新。