當前位置:成語大全網 - 書法字典 - 什麽是JWT?

什麽是JWT?

JSON Web Token(JWT)是壹個開放標準(RFC 7519),它定義了壹種緊湊且獨立的方式,以JSON對象的形式在各方之間安全地傳輸信息。該信息可以被驗證和信任,因為它是數字簽名的。JWT可以使用secret(使用HMAC算法)或使用RSA或ECDSA的公鑰/私鑰對進行簽名。

應用場景:

授權:這是使用JWT最常見的場景。

信息交換:JSON Web token是在各方之間安全傳輸信息的好方法。

JSON Web Token由三部分組成,點(?。?),它們是:

頁眉

有效載荷

簽名?符號

JWT通常是這樣的:

標題。有效載荷。簽名

標題:

它通常由兩部分組成:令牌類型(JWT)和使用的簽名算法(如HMAC SHA256或RSA)。

{ ?“alg“:“hs 256“,?“typ“:“JWT“}

Base64Url編碼此JSON以形成JWT的第壹部分。

有效載荷:

有效負載,包含聲明。聲明是關於實體(通常是用戶)和附加數據的聲明。債權分為三類:登記債權、公共債權和私人債權。

{ ?“sub“:“1234567890“,?“姓名”:“無名氏”,?“admin”:true }

Base64Url對有效負載進行編碼,形成JSON Web令牌的第二部分。

簽名?簽名:

如果要使用HMAC SHA256算法,簽名將創建如下:

HMACSHA256(

?base64UrlEncode(標頭)+“。“+

?base64UrlEncode(有效負載),

?秘密)

參數描述:

使用HMACSHA256: SHA256是因為頭中有ALG: HS 256。如果是alg:HS128,則為HMACSHA28。

base64 urlencode:base64中使用的三個字符是“+”、“/”和“=”。因為它們在URL中有特殊的含義,所以它們在Base64URL中被替換為:“=”被刪除,“+”被替換為“-”,“/”被替換為“_”。這是Base64URL算法。

機密:服務器給出的密鑰

簽名:最後,HMACSHA256後面的值是Base64URL,這是必需的簽名。

輸出是由點分隔的三個Base64-URL字符串,可以在HTML和HTTP環境中輕松傳遞,並且比基於XML的標準(如SAML)更緊湊。