前后端分离,使用websocket刷新token

WebSocket刷新Token
本文介绍了一个在SpringBoot+Vue项目中使用WebSocket刷新Token的方案,详细解释了如何在后端捕获Token过期异常并重新生成Token,以及前端如何通过WebSocket接收刷新后的Token。

之前提到过刷新token的思路:关于刷新token的几点思考

现在,springBoot + vue的项目中,使用websocket刷新token,来解决token过期后如何刷新的问题。

思路也很简单,就是在出现token解析出现过期异常时,捕获它,重新生成token,一般会设置一个时间限制,不然没有意义。

 

后端主要代码:

    boolean validateToken(String authToken,String username){
        try {
            Jwts.parser().setSigningKey(key).parseClaimsJws(authToken);
            return true;
        } catch (io.jsonwebtoken.security.SecurityException | MalformedJwtException e) {
            logger.info("Invalid JWT signature.");
            e.printStackTrace();
        } catch (ExpiredJwtException e) {
            logger.info("Expired JWT token.");
            if (canRefreshToken()){
                // 在规定的过期时间内,可以刷新token
                String refreshToken = refreshTokenUtil.refreshToken(username, UserInfoUtil.getPasswordByUsername(username));
                logger.info("刷新token: "+refreshToken);
                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值