JWT令牌

今天继续学习Springboot的项目实战

今天了解了一下,如何在自己登陆后,还能让界面知道是谁在进行操作,这个功能的实现需要JWT令牌的作用

我简单说一下我自己对令牌工作原理:当我们登录的时候会生成一个令牌,后端服务器将这个令牌给服务器,服务器会一直携带这它,当我们进行其他行为的访问的时候,会一直携带这令牌,并对它进行验证,当验证通过时才能进行接下来的操作。

我们需要先引入一个JWT依赖

1 <!--      java-JWT坐标-->
2       <dependency>
3           <groupId>com.auth0</groupId>
4           <artifactId>java-jwt</artifactId>
5           <version>4.4.0</version>
6       </dependency>

然后需要一个工具类来得到和分析token

复制代码
package com.itheima.utils;

import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;

import java.util.Date;
import java.util.Map;

public class JwtUtil {

    private static final String KEY = "itheima";
    
    //接收业务数据,生成token并返回
    public static String genToken(Map<String, Object> claims) {
        return JWT.create()
                .withClaim("claims", claims)
                .withExpiresAt(new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 12))
                .sign(Algorithm.HMAC256(KEY));
    }

    //接收token,验证token,并返回业务数据
    public static Map<String, Object> parseToken(String token) {
        return JWT.require(Algorithm.HMAC256(KEY))
                .build()
                .verify(token)
                .getClaim("claims")
                .asMap();
    }

}
复制代码

 

posted @   新晋软工小白  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示