日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Spring Boot 整合 JWT的方法

瀏覽:177日期:2023-08-29 16:36:45

1、JWT 是什么?

JWT 是一個開放標準,它定義了一種用于簡潔,自包含的用于通信雙方之間以 JSON 對象的形式安全傳遞信息的方法。JWT 可以使用 HMAC 算法或者是 RSA 的公鑰密鑰對進行簽名。

簡單來說,就是通過一定規范來生成 token,然后可以通過解密算法逆向解密 token,這樣就可以獲取用戶信息。

優點:

1)生產的 token 可以包含基本信息,比如 id、用戶昵稱、頭像等信息,避免再次查庫

2)存儲在客戶端,不占用服務端的內存資源

缺點:

token 是經過 base64 編碼,所以可以解碼,因此 token 加密前的對象不應該包含敏感信息,如用戶權限,密碼等

2、JWT 格式組成:頭部、負載、簽名

header+payload+signature

頭部:主要是描述簽名算法

負載:主要描述是加密對象的信息,如用戶的id等,也可以加些規范里面的東西,如 iss 簽發者,exp 過期時間,sub 面向的用戶

簽名:主要是把前面兩部分進行加密,防止別人拿到 token 進行 base 解密后篡改 token

3、關于jwt客戶端存儲

可以存儲在 Cookie,localStorage 和 sessionStorage 里面

4、引入相關依賴并開發 JWT 工具類

1)引入依賴

<!-- JWT相關 --><dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.7.0</version></dependency>

2)開發生產 token 方法

3)開發檢驗 token 方法

package com.haitaiinc.clinicpathservice.utils;import com.haitaiinc.clinicpathservice.entity.UserInfo;import io.jsonwebtoken.Claims;import io.jsonwebtoken.Jwts;import io.jsonwebtoken.SignatureAlgorithm;import org.springframework.util.StringUtils;import java.util.Date;public class JwtUtils { public static final String SUBJECT = 'admin'; /** * 過期時間,毫秒,一周 */ public static final long EXPIRE = 1000 * 60 * 60 * 24 * 7; /** * 秘鑰 */ public static final String APPSECRET = 'haitaiinc'; /** * 生成jwt * * @param userInfo * @return */ public static String geneJsonWebToken(UserInfo userInfo) { if (userInfo == null || StringUtils.isEmpty(userInfo.getUserId()) || StringUtils.isEmpty(userInfo.getUserName())) { return null; } String token = Jwts.builder().setSubject(SUBJECT) .claim('id', userInfo.getUserId()) .claim('name', userInfo.getUserName()) .setIssuedAt(new Date()) .setExpiration(new Date(System.currentTimeMillis() + EXPIRE)) .signWith(SignatureAlgorithm.HS256, APPSECRET).compact(); return token; } /** * 校驗token * * @param token * @return */ public static Claims checkJWT(String token) { try { final Claims claims = Jwts.parser().setSigningKey(APPSECRET). parseClaimsJws(token).getBody(); return claims; } catch (Exception e) { } return null; }}

4)測試

package com.haitaiinc.clinicpathservice;import com.haitaiinc.clinicpathservice.entity.UserInfo;import com.haitaiinc.clinicpathservice.utils.JwtUtils;import io.jsonwebtoken.Claims;import org.junit.jupiter.api.Test;public class CommonTest { @Test public void testGeneJwt() { UserInfo user = new UserInfo(); user.setUserId('admin'); user.setUserName('管理員'); String token = JwtUtils.geneJsonWebToken(user); System.out.println(token); } @Test public void testCheck() { String token = 'eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImlkIjoiYWRtaW4iLCJuYW1lIjoi566h55CG5ZGYIiwiaWF0IjoxNTc3NTU3MDU1LCJleHAiOjE1NzgxNjE4NTV9.VrrKtCTnxVN76JhpyIusCGq9Wj89wLor0OqIJ6s0zXo'; Claims claims = JwtUtils.checkJWT(token); if (claims != null) { String id = (String) claims.get('id'); String name = (String) claims.get('name'); System.out.println(id); System.out.println(name); } else { System.out.println('非法token'); } }}

以上就是Spring Boot 整合 JWT的方法的詳細內容,更多關于Spring Boot 整合 JWT的資料請關注好吧啦網其它相關文章!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美gv在线| 婷婷精品在线| 婷婷精品久久久久久久久久不卡| 婷婷六月综合| 成人精品中文字幕| 日本国产精品| 99久久精品费精品国产| 日本不卡不码高清免费观看| 精品一区免费| 99在线精品免费视频九九视| 亚洲欧洲午夜| 国产中文一区| 伊人精品视频| 三级一区在线视频先锋| 日韩一区精品视频| 蜜桃视频在线观看一区二区| 日韩在线观看一区二区| 午夜电影一区| 国产乱码精品| 精品视频自拍| 亚洲黄色中文字幕| 免费国产自久久久久三四区久久| 亚洲免费播放| 日韩午夜av| 一二三区精品| 国产日韩视频| 国产一区二区三区久久| 91欧美在线| 欧美不卡视频| 婷婷久久免费视频| 美女久久久久久| 中文字幕在线视频久| 激情久久五月| 首页亚洲欧美制服丝腿| 91大神在线观看线路一区| 久久97视频| 999精品色在线播放| 久久久久美女| 在线视频亚洲欧美中文| 欧美伊人影院| 天堂а√在线最新版中文在线| 91精品啪在线观看国产18| 在线精品一区| 精品视频在线你懂得| 欧美~级网站不卡| 亚洲精品动态| 日本久久黄色| 视频一区二区三区在线| 你懂的国产精品永久在线| www成人在线视频| 视频一区在线播放| 91免费精品| 日本一区中文字幕| 国产91在线播放精品| 亚洲一区中文| 成人精品国产亚洲| 亚洲精品第一| 日韩欧美一区二区三区免费观看| 深夜福利一区| 九一成人免费视频| 久久精品资源| 日本强好片久久久久久aaa| 久久久影院免费| 欧美国产极品| 亚洲精品看片| 黄色日韩精品| www.51av欧美视频| 日韩精彩视频在线观看| 日韩欧美二区| 亚洲人成亚洲精品| 成人日韩在线| 蜜桃伊人久久| 国产精品不卡| 日韩在线一二三区| 狠狠久久伊人中文字幕| 欧美精品黄色| 国产美女精品视频免费播放软件| 国产一区二区久久久久| 91精品啪在线观看国产18| 日韩av中文在线观看| 蜜桃av.网站在线观看| 亚洲人成在线影院| 久久久久午夜电影| 欧美日本不卡| 黄色日韩在线| 成人精品视频| 日韩中文字幕| 99久精品视频在线观看视频| 日韩精品欧美精品| 欧美黄页在线免费观看| 国产二区精品| 高清一区二区| 日本亚洲不卡| 女人av一区| 98精品视频| 欧美一区二区三区久久| 亚洲激情婷婷| 日韩久久电影| 蜜桃精品视频| 午夜亚洲福利| 在线看片不卡| 国产福利91精品一区二区| 日韩一区精品| re久久精品视频| 国产一区二区三区成人欧美日韩在线观看| 中文字幕免费一区二区| 久久久久久久久久久妇女| 嫩草伊人久久精品少妇av杨幂| 香蕉久久夜色精品国产| 日韩一区三区| 国产精品二区影院| 亚洲精品在线a| 国产毛片一区| 另类亚洲自拍| 日韩一区三区| 国产成人精品亚洲线观看| 欧美日韩一区二区三区四区在线观看 | 国产精品最新| 蜜桃久久av一区| 韩日一区二区三区| 久久久久国产一区二区| 色婷婷色综合| 国产精品中文| 欧美亚洲一区二区三区| 日韩福利视频导航| 亚洲1区在线| 亚洲人成亚洲精品| 亚洲影院天堂中文av色| 蜜桃伊人久久| 蜜臀国产一区二区三区在线播放| 爽好久久久欧美精品| 国产视频亚洲| 麻豆9191精品国产| 亚洲一区二区动漫| 玖玖玖国产精品| 日韩在线a电影| 亚洲精品亚洲人成在线观看| 一区二区亚洲精品| 日韩午夜高潮| 中文字幕一区二区av| 欧美日韩国产探花| 国产精品qvod| 久久久人人人| 欧美在线观看视频一区| 亚州av一区| 国产乱人伦丫前精品视频| 国产精品亲子伦av一区二区三区 | 午夜精品婷婷| 亚洲欧洲一区二区天堂久久| 久久国产精品久久久久久电车| 亚洲欧美成人综合| 日韩国产在线不卡视频| 国产美女久久| 国产精品久久久久久久久久10秀| 日韩高清中文字幕一区二区| 国产91精品对白在线播放| 黄色av一区| 日韩精品一级| 三上亚洲一区二区| 欧美成人综合| 爽爽淫人综合网网站| 日韩区欧美区| 欧美欧美黄在线二区| 国产一区二区三区四区| av高清一区| 国产一级久久| 国产剧情一区二区在线观看| 国产成人精品一区二区三区免费| 午夜在线一区二区| 国产精品久久久久久妇女| 99在线观看免费视频精品观看| 日韩亚洲精品在线观看| 亚洲成av人片一区二区密柚| 丝袜美腿亚洲一区| 精精国产xxxx视频在线野外| 在线国产日韩| 精品中文在线| 国产亚洲一区二区手机在线观看 | 久久美女精品| 91综合久久爱com| 日韩欧美自拍| 亚洲精品系列| 欧美香蕉视频| 亚洲最新av| 午夜精品成人av| 国产欧美在线观看免费| 久久精品亚洲人成影院| 91成人精品观看| 久久青草久久| 日韩av电影一区| 久久久久网站| 久久超级碰碰| 爽好久久久欧美精品| 99精品一区| 麻豆成人综合网| 视频一区在线播放| 99视频+国产日韩欧美| 日韩av自拍| 日本午夜免费一区二区| 免费欧美一区|