<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
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網站欄目:如何在springboot運行token?-創新互聯
文章源于:http://www.yijiale78.com/article18/pgsgp.html
成都網站建設公司_創新互聯,為您提供建站公司、網站收錄、搜索引擎優化、品牌網站設計、網站策劃、營銷型網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯