Java登陆token详细流程_java基于token验证之登陆验证

转载地址:https://blog.csdn.net/kkkun_joe/article/details/81878231

以上博主讲的更清除些,此博客是为了自己加深记忆。

对于前后端分离的项目来说session来判断是否登陆实现比较困难,token是比较好的方式。

大概流程:

1.用户登陆,若成功则后台生成一个token,并把此token返回给客户端浏览器

2.客户端接收到token后,每次请求都要把此token放到header中发给后段

3.后段使用拦截器判断token的正确性和实效性。

以下是具体代码:

Token工具类:

package com.sign;

import com.auth0.jwt.JWT;

import com.auth0.jwt.JWTVerifier;

import com.auth0.jwt.algorithms.Algorithm;

import com.auth0.jwt.exceptions.JWTDecodeException;

import com.auth0.jwt.interfaces.DecodedJWT;

import java.util.Date;

import java.util.HashMap;

import java.util.Map;

public class TokenSign {

/**

* 过期时间60分钟

*/

private static final long EXPIRE_TIME=60 * 60 *1000;

/**

* 私钥,使用它生成token,最好进行下加密

*/

private static final String TOKEN_SECRET="Token";

/**

* 产生token

* @param useName

* @param userId

* @return

*/

public static String sign(String useName,String userId){

try{

//设置15分钟失效

Date date=new Date(System.currentTimeMillis()+EXPIRE_TIME);

//私钥及加密算法

Algorithm algorithm=Algorithm.HMAC256(TOKEN_SECRET);

//设置头部信息

Mapheader=new HashMap<>();

header.put("typ","JWT");

header.put("alg","HS256");

//附带username和userid信息,存储到token中,生成签名

return JWT.create()

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值