亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一、JWT簡介

JSON Web Token(JWT)是一個開放的標準(RFC 7519),它定義了一個緊湊且自包含的方式,用于在各方之間作為JSON對象安全地傳輸信息。由于此信息是經過數字簽名的,因此可以被驗證和信任。

更多信息可以查看官網:https://jwt.io/introduction/

二、JWT認證和session認證的區別

  1. session認證

http協議是一種無狀態的協議,而這就意味著如果用戶向我們的應用提供了用戶名和密碼來進行用戶認證,那么下一次請求時,用戶還要再一次進行用戶認證才行,因為根據http協議,我們并不能知道是哪個用戶發送的請求,所以為了讓我們的應用能識別是哪個用戶發出的,我們只能在服務器存儲一份用戶登陸的信息,這份登陸信息會在響應時傳遞給瀏覽器,告訴其保存為cookie,以便下次請求時發送給我們的應用,這樣我們的應用個就能識別請求來自哪個用戶了,這就是傳統的基于sessino認證。

  1. JWT認證

基于token的鑒權機制類似于http協議也是無狀態的,它不需要在服務端去保留用戶的認證信息或會話信息。這也就意味著JWT認證機制的應用不需要去考慮用戶在哪一臺服務器登錄了,這就為應用的擴展提供了便利。

三、JWT認證流程

一分鐘帶你了解JWT認證

 

認證流程如下:

  1. 用戶使用賬號和密碼發出post請求;
  2. 服務器使用私鑰創建一個jwt;
  3. 服務器返回這個jwt給瀏覽器;
  4. 瀏覽器將該jwt串在請求頭中像服務器發送請求;
  5. 服務器驗證該jwt;
  6. 返回響應的資源給瀏覽器。

四、JWT組成

先來看一張JWT的信息的截圖:

一分鐘帶你了解JWT認證

 

從上圖可以看到,JWT含有三部分:頭部(header)、載荷(payload)、簽名(signature)。

  1. 頭部(header)

JWT的頭部有兩部分信息:

  • 聲明類型,這里是JWT
  • 聲明加密的算法,通常直接使用Hmac SHA256

頭部示例如下:

頭部一般使用base64加密,加密后密文:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9

  1. 載荷(payload)

該部分一般存放一些有效的信息。JWT的標準定義包含五個字段:

  • iss:該JWT的簽發者
  • sub: 該JWT所面向的用戶
  • aud: 接收該JWT的一方
  • exp(expires): 什么時候過期,這里是一個Unix時間戳
  • iat(issued at): 在什么時候簽發的

載荷示例如下:

  1. 簽名(signature)

前面兩部分都是使用Base64進行編碼的,即前端可以解開知道里面的信息。signature 需要使用編碼后的header和payload以及我們提供的一個密鑰,然后使用header中指定的簽名算法(HS256)進行簽名。簽名的作用是保證 JWT 沒有被篡改過。

三個部分通過.連接在一起就是我們的 JWT 了,所以我們生成的JWT如下:

注意:密鑰就是用來進行JWT的簽發和JWT的驗證,所以,它就是你服務端的私鑰,在任何場景都不應該泄露出去。

五、JWT使用場景

JWT主要使用場景如下:

  • 授權

這是JWT使用最多的場景,一旦用戶登錄,每個后續的請求將包括JWT,從而允許用戶訪問該令牌允許的路由、服務和資源。

  • 信息交換:JSON

JWT可以用在各方之間安全地傳輸信息,因為JWT可以進行簽名,所以您可以確定發件人是他們所說的人。另外,由于簽名是使用標頭和有效負載計算的,因此您還可以驗證內容是否未被篡改。

分享到:
標簽:認證 JWT
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定