使用jwt和rsa非對稱加密無狀態登錄


首先,說一下大概的流程。

   用戶登錄時,會將頁面輸入的賬戶密碼傳入對應的微服務中,而現在微服務中還沒有當前用戶的認證,由此微服務再轉發給注冊中心,注冊中心再訪問用戶中心,用戶中心通過調取數據庫中的信息,

對傳過來的信息進行核對,核實正確后使用非對稱加密形成一個公鑰與私鑰,私鑰自己保存,公鑰分發給各個微服務,然后用戶再次登錄時,當前的微服務就擁有公鑰,通過公鑰解密就可以驗證用戶

是否正確。正確就放行通過。

  jwt含有三個部分,分別是Header,載荷,簽名。

  header:包含有jwt 當前的聲明的定義,還有base64算法。

  載荷:主要存放當前的有效信息。

  簽名:主要是對header與負載中的有效信息使用密鑰加密生成token。

 

  

  • 授權流程:

    • 1、用戶請求登錄,攜帶用戶名密碼到授權中心

    • 2、授權中心攜帶用戶名密碼,到用戶中心查詢用戶

    • 3、查詢如果正確,生成JWT憑證

    • 4、返回JWT給用戶

  • 鑒權流程:

    • 1、用戶請求某微服務功能,攜帶JWT

    • 2、微服務將jwt交給授權中心校驗

    • 3、授權中心返回校驗結果到微服務

    • 4、微服務判斷校驗結果,成功或失敗

    • 5、失敗則直接返回401

    • 6、成功則處理業務並返回


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM