jwt使用


package mr.li.hello.demo;

import java.util.HashMap;
import java.util.Map;

import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

public class JwtDemo {

    public static String secret = "secret";

    public static String token_prefix = "token前缀";

    /**
     * 
     * 生成jwt token
     * 
* *
@return */ public static String genertateToken() { HashMap map = new HashMap(); map.put("id", "111111"); map.put("name", "龙哥"); String jwt = Jwts.builder(). setSubject("jwt中存放的用户数据") .setClaims(map) .signWith(SignatureAlgorithm.HS512, secret) .compact(); return token_prefix + jwt; } /** *
解析jwt token
*
@param token * @return */ public static Map validateToken(String token) { Map map = Jwts.parser().setSigningKey(secret).parseClaimsJws(token.replace(token_prefix, "")) .getBody(); String id = String.valueOf(map.get("id")); String name = String.valueOf(map.get("name")); Map map1 = new HashMap(); map1.put("id", id); map1.put("name", name); return map1; } public static void main(String[] args) { String jwtToken = genertateToken(); Map map = validateToken(jwtToken); System.out.println(map); } }

 引入pom坐标

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0modelVersion>
    <groupId>cn.mr.ligroupId>
    <artifactId>hello-worldartifactId>
    <version>0.0.1-SNAPSHOTversion>
    <packaging>jarpackaging>
    
    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.1.6.RELEASEversion>
    parent>
    <properties>
        <jwt-version>0.7.0jwt-version>
    properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
        <dependency>
            <groupId>io.jsonwebtokengroupId>
            <artifactId>jjwtartifactId>
            <version>${jwt-version}version>
        dependency>
    dependencies>
    
project>