中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JWT如何應用

發布時間:2022-01-06 09:15:13 來源:億速云 閱讀:118 作者:iii 欄目:大數據

本篇內容介紹了“JWT如何應用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

什么是JWT

Json web token (JWT), 是為了在網絡應用環境間傳遞聲明而執行的一種基于JSON的開放標準(RFC 7519).該token被設計為緊湊且安全的,特別適用于分布式站點的單點登錄(SSO)場景。

JWT的聲明一般被用來在身份提供者和服務提供者間傳遞被認證的用戶身份信息,以便于從資源服務器獲取資源,也可以增加一些額外的其它業務邏輯所必須的聲明信息,該token也可直接被用于認證,也可被加密。

JWT的構成

第一部分我們稱它為頭部(header)

第二部分我們稱其為載荷(payload)

第三部分是簽證(signature).

header:

jwt的頭部承載兩部分信息:

  • 聲明類型,這里是jwt

  • 聲明加密的算法 通常直接使用 HMAC SHA256

完整的頭部就像下面這樣的JSON:

JWT如何應用

然后將頭部進行base64加密(該加密是可以對稱解密的),構成了第一部分.

JWT如何應用

playload:

載荷就是存放有效信息的地方。這個名字像是特指飛機上承載的貨品,這些有效信息包含三個部分

  • 標準中注冊的聲明

  • 公共的聲明

  • 私有的聲明

標準中注冊的聲明 (建議但不強制使用) :

  • iss: jwt簽發者

  • sub: jwt所面向的用戶

  • aud: 接收jwt的一方

  • exp: jwt的過期時間,這個過期時間必須要大于簽發時間

  • nbf: 定義在什么時間之前,該jwt都是不可用的.

  • iat: jwt的簽發時間

  • jti: jwt的唯一身份標識,主要用來作為一次性token,從而回避重放攻擊。

公共的聲明 :
公共的聲明可以添加任何的信息,一般添加用戶的相關信息或其他業務需要的必要信息.但不建議添加敏感信息,因為該部分在客戶端可解密.

私有的聲明 :
私有聲明是提供者和消費者所共同定義的聲明,一般不建議存放敏感信息,因為base64是對稱解密的,意味著該部分信息可以歸類為明文信息。

定義一個payload:

JWT如何應用

然后將其進行base64加密,得到Jwt的第二部分。

JWT如何應用

 signature:

jwt的第三部分是一個簽證信息,這個簽證信息由三部分組成:

  • header (base64后的)

  • payload (base64后的)

  • secret  

這個部分需要base64加密后的headerbase64加密后的payload使用.連接組成的字符串,然后通過header中聲明的加密方式進行加密 secret組合加密,然后就構成了jwt的第三部分。

JWT如何應用


將這三部分用.連接成一個完整的字符串,構成了最終的jwt:

JWT如何應用

注意:secret是保存在服務器端的,jwt的簽發生成也是在服務器端的,secret就是用來進行jwt的簽發和jwt的驗證,

所以,它就是你服務端的私鑰,在任何場景都不應該流露出去。一旦客戶端得知這個secret, 那就意味著客戶端是可以自我簽發jwt了。

如何應用

  在請求頭里加入Authorization,并加上Token標注:

headers: { 'Authorization': 'Token' + token

服務端會驗證token,如果驗證通過就會返回相應的資源。整個流程就是這樣的:

 JWT如何應用

“JWT如何應用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

jwt
AI

含山县| 海门市| 白河县| 康马县| 苏尼特左旗| 肥西县| 民丰县| 和田市| 凤阳县| 米泉市| 垣曲县| 昌都县| 万安县| 梧州市| 马公市| 广平县| 光泽县| 册亨县| 策勒县| 新乐市| 农安县| 淮北市| 宁城县| 固阳县| 玉树县| 通渭县| 恩平市| 嘉善县| 武清区| 白沙| 峨眉山市| 阳山县| 兴山县| 乌拉特前旗| 开原市| 尼木县| 沂源县| 麻栗坡县| 丰城市| 马边| 苍山县|