您好,登錄后才能下訂單哦!
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.6.0</version>
</dependency>
新建一個生成token的類
package com.example.demo.controller;
import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import java.util.Date;
public class CreateJwt {
public static void main(String[] args) {
//Jwts.builder()生成
//Jwts.parser()驗證
JwtBuilder jwtBuilder = Jwts.builder()
.setId("123")
.setSubject("夢陽") //用戶名
.setIssuedAt(new Date())//登錄時間
.signWith(SignatureAlgorithm.HS256, "my-123").setExpiration(new Date(new Date().getTime()+60000))//設置過期時間
.claim("role","admin"); //自定義屬性
//前三個為載荷playload 最后一個為頭部 header
System.out.println(jwtBuilder.compact());
}
}
運行結果為:
eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI2NjYiLCJzdWIiOiLlsI_pqawiLCJpYXQiOjE1NjMyODU2MTB9.iKtLy0T5ZzvzS2sjgcs5WyuM7cofmnzxzml7wicrTnA
package com.example.demo.controller;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import java.text.SimpleDateFormat;
//token的解析
//有狀態登錄 服務器端保存用戶信息
//無狀態登錄 服務器端沒有保存用戶信息 無狀態效率比有狀態效率高
public class PraseJwtTest {
public static void main(String[] args) {
Claims claims = Jwts.parser()
.setSigningKey("my-123")
//.parseClaimsJws("eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI2NjYiLCJzdWIiOiLlsI_pqawiLCJpYXQiOjE1NjMyODU2MTB9.iKtLy0T5ZzvzS2sjgcs5WyuM7cofmnzxzml7wicrTnA")
.parseClaimsJws("eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxMjMiLCJzdWIiOiLmoqbpmLMiLCJpYXQiOjE1ODIwMDM5MzIsImV4cCI6MTU4MjAwMzk5Miwicm9sZSI6ImFkbWluIn0.vN0pcBVNIixcqp6MsSmGWWVyCc4uOkTpcd8MUDHcn4A")
.getBody();
System.out.println("用戶id:"+claims.getId());
System.out.println("用戶名:"+claims.getSubject());
System.out.println("用戶時間:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(claims.getIssuedAt()));System.out.println("過期時間:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(claims.getExpiration()));
System.out.println("用戶角色:"+claims.get("role"));
}
}
運行結果為:
用戶id:123
用戶名:夢陽
用戶時間:2020-02-18 13:32:12
過期時間:2020-02-18 13:33:12
用戶角色:admin
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。