前后端分离,JWT token 校验token 过期,结合redis实现

本文介绍了在前后端分离的系统中,如何利用JWT Token进行用户身份验证。当用户登录成功后,生成永不过期的JWT Token并存储在Redis中,设置7天的过期时间。在接口请求时,后端会检查Token的有效性,若Token解析失败或在Redis中不存在,将提示用户重新登录。同时,系统实现了Token自动续期,确保频繁登录用户的免登体验。在修改密码或退出登录时,会废除对应的Access Tokens。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在登录接口中 如果校验账号密码成功 则根据用户id和用户类型创建jwt token(有效期设置为-1,即永不过期),得到A
更新登录日期(当前时间new Date()即可)(业务上可选),得到B
在redis中缓存key为ACCESS_TOKEN:userId:A(加上A是为了防止用户多个客户端登录 造成token覆盖),value为B的毫秒数(转换成字符串类型),过期时间为7天(7 * 24 * 60 * 60)

//生成token
        JSONObject signParams = new JSONObject();
        signParams.put("userId",sysUserAccount.getId());
        signParams.put("userName",sysUserAccount.getName());
         String token = getToken(signParams);
        //拼装key
        StringBuilder accessToken = new StringBuilder("access_token_");
        //缓存token信息 天
        accessToken.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值