日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

閑魚面試:說說JWT工作原理?

來源: 責編: 時間:2024-06-21 17:26:21 193觀看
導讀JWT(JSON Web Token)一種開放的標準規范(RFC 7519),用于在網絡上安全的傳輸信息,通常被用于身份驗證。簡單來說,你可以把 JWT 想象成一張小巧的、自包含的電子通行證。這張通行證里面包含了用戶的身份信息,就像你在某個俱樂部

2wa28資訊網——每日最新資訊28at.com

JWT(JSON Web Token)一種開放的標準規范(RFC 7519),用于在網絡上安全的傳輸信息,通常被用于身份驗證。2wa28資訊網——每日最新資訊28at.com

簡單來說,你可以把 JWT 想象成一張小巧的、自包含的電子通行證。這張通行證里面包含了用戶的身份信息,就像你在某個俱樂部的會員卡,上面有你的名字、會員等級等信息,拿著這張卡,你就能證明你是誰,享受相應的服務。2wa28資訊網——每日最新資訊28at.com

1.JWT組成

JWT 由三部分組成:頭部(Header)、載荷(Payload)和簽名(Signature),如下圖所示:2wa28資訊網——每日最新資訊28at.com

2wa28資訊網——每日最新資訊28at.com

  • 頭部(Header):包含了關于生成該 JWT 的信息以及所使用的算法類型。
  • 載荷(Payload):包含了要傳遞的數據,例如身份信息和其他附屬數據。JWT 官方規定了 7 個字段,可供使用:
  1. iss (Issuer):簽發者。
  2. sub (Subject):主題。
  3. aud (Audience):接收者。
  4. exp (Expiration time):過期時間。
  5. nbf (Not Before):生效時間。
  6. iat (Issued At):簽發時間。
  7. jti (JWT ID):編號。
  • 簽名(Signature):使用密鑰對頭部和載荷進行簽名,以驗證其完整性。

JWT 官網:https://jwt.io/2wa28資訊網——每日最新資訊28at.com

2.JWT工作原理

JWT 工作原理包含三部分:2wa28資訊網——每日最新資訊28at.com

  • 生成 JWT
  • 傳輸 JWT
  • 驗證 JWT

下面分別來看。2wa28資訊網——每日最新資訊28at.com

(1)生成JWT

在用戶登錄時,當服務器端驗證了用戶名和密碼的正確性后,會根據用戶的信息,如用戶 ID 和用戶名稱,加上服務器端存儲的 JWT 秘鑰一起來生成一個 JWT 字符串,也就是我們所說的 Token,這個 Token 是 Encoded 編碼過的,類似于:2wa28資訊網——每日最新資訊28at.com

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c2wa28資訊網——每日最新資訊28at.com

Decoded 解碼后會得到三部分內容:頭部(Header)+載荷(Payload)+簽名(Signature)。2wa28資訊網——每日最新資訊28at.com

  1. 頭部(Header):包含了關于生成該 JWT 的信息以及所使用的算法類型。
  2. 載荷(Payload):包含了要傳遞的數據,例如身份信息和其他附屬數據。
  3. 簽名(Signature):使用密鑰對頭部和載荷進行簽名,以驗證其完整性。

(2)傳輸JWT

JWT 通常存儲在客戶端的 Cookie、LocalStorage、SessionStorage 等位置,客戶端在每次請求時把 JWT 放在 Authorization 頭中或作為參數傳遞給服務器端。2wa28資訊網——每日最新資訊28at.com

(3)驗證JWT

  • 服務器端接收到 JWT 的 Token 后,會先將 Token Decoded 解碼,之后會得到頭部(Header)+載荷(Payload)+簽名(Signature)。
  • 然后服務器端會使用它本地存儲的秘鑰,以及頭部(Header)中的加密算法和載荷(Payload)中的信息進行重新加密,得到一個新的簽名。
  • 最后會判斷 Token 的真偽,用上一步新生成的簽名和 Decoded 解碼得到的簽名(Signature)進行判斷,如果二者一致,則說明當前的 Token 有效性的、完整的,可以執行后續的操作了,否則則返回 Token 錯誤。當然在這一步判斷時,我們通常也要看載荷(Payload)中的過期時間是否有效,如果無效,則需要提示用戶重新登錄。

3.JWT優勢

JWT 相較于傳統的基于會話(Session)的認證機制,具有以下優勢:2wa28資訊網——每日最新資訊28at.com

  • 無需服務器存儲狀態:傳統的基于會話的認證機制需要服務器在會話中存儲用戶的狀態信息,包括用戶的登錄狀態、權限等。而使用 JWT,服務器無需存儲任何會話狀態信息,所有的認證和授權信息都包含在 JWT 中,使得系統可以更容易地進行水平擴展。
  • 跨域支持:由于 JWT 包含了完整的認證和授權信息,因此可以輕松地在多個域之間進行傳遞和使用,實現跨域授權。
  • 適應微服務架構:在微服務架構中,很多服務是獨立部署并且可以橫向擴展的,這就需要保證認證和授權的無狀態性。使用 JWT 可以滿足這種需求,每次請求攜帶 JWT 即可實現認證和授權。
  • 自包含:JWT 包含了認證和授權信息,以及其他自定義的聲明,這些信息都被編碼在 JWT 中,在服務端解碼后使用。JWT 的自包含性減少了對服務端資源的依賴,并提供了統一的安全機制。
  • 擴展性:JWT 可以被擴展和定制,可以按照需求添加自定義的聲明和數據,靈活性更高。

使用 JWT 相較于傳統的基于會話的認證機制,可以減少服務器存儲開銷和管理復雜性,實現跨域支持和水平擴展,并且更適應無狀態和微服務架構。2wa28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-95562-0.html閑魚面試:說說JWT工作原理?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 深入解析掉單問題及其技術解決方案

下一篇: HDC2024 華為發布鴻蒙原生智能:AI 與 OS 深度融合,開啟全新的 AI 時代

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 宿州市| 乐清市| 商都县| 台东县| 江孜县| 巴东县| 织金县| 德昌县| 册亨县| 昌平区| 北海市| 新巴尔虎左旗| 武威市| 西充县| 报价| 辉县市| 绥江县| 杨浦区| 乡城县| 福建省| 英德市| 萍乡市| 北碚区| 新乐市| 东乡县| 济南市| 肇东市| 盘锦市| 宁波市| 乌海市| 富阳市| 麻栗坡县| 靖边县| 得荣县| 如东县| 峨眉山市| 土默特左旗| 分宜县| 乐昌市| 锡林郭勒盟| 麟游县|