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() { HashMapmap = 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 MapvalidateToken(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>