若依框架token过期时间设置

后端
application.yml
# 令牌有效期(默认30分钟)
# expireTime: 30
expireTime: 120  # 将 Token 有效期设置为 2 小时

前端

request.js

const service = axios.create({
  // axios中请求配置有baseURL选项,表示请求URL公共部分
  baseURL: process.env.VUE_APP_BASE_API,
  // 超时 2小时
  timeout: 7200000
})
### 若依框架后端实现 Token 和 Refresh Token 方法 #### 配置 Spring Security OAuth2.0 为了在若依框架中集成Token和Refresh Token机制,需基于Spring Security OAuth2.0进行配置。通过自定义`AuthorizationServerConfigurerAdapter`类来扩展默认行为并支持refresh_token授予类型。 ```java @Configuration @EnableAuthorizationServer public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter { @Autowired private AuthenticationManager authenticationManager; @Override public void configure(ClientDetailsServiceConfigurer clients) throws Exception { clients.inMemory() .withClient("client") .secret("{noop}secret") .authorizedGrantTypes("password", "refresh_token") // 支持的授权方式 .scopes("read", "write") .accessTokenValiditySeconds(3600 * 1) // 访问令牌有效期为1小时 .refreshTokenValiditySeconds(3600 * 24); // 刷新令牌有效期为一天 } @Bean public DefaultTokenServices tokenServices() { final DefaultTokenServices defaultTokenServices = new DefaultTokenServices(); defaultTokenServices.setTokenStore(tokenStore()); defaultTokenServices.setSupportRefreshToken(true); return defaultTokenServices; } } ``` 上述代码片段展示了如何创建一个内存中的客户端,并指定了其可以使用的授权类型以及访问令牌和刷新令牌的有效期限[^1]。 #### 使用 Redis 存储 Tokens 对于高并发场景下的应用来说,使用Redis作为存储介质能够提供更好的性能表现。可以通过如下方式修改原有的Token服务: ```java @Bean public TokenStore tokenStore(RedisConnectionFactory redisConnectionFactory){ return new RedisTokenStore(redisConnectionFactory); } ``` 这段Java配置指示系统利用Redis保存生成出来的Tokens,从而提高了系统的可伸缩性和响应速度。 #### 实现无感刷新功能 为了让用户体验更加流畅,在用户不知情的情况下自动处理过期的Access Token,则可以在网关层面对此逻辑加以封装。当检测到当前持有的AccessToken失效时,尝试用Refresh Token去换取新的有效凭证而不打断用户的正常操作流。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值