MineAdmin 交流群

官方QQ群: 150105478

Skip to content

生命週期

TIP

不論是 swoole 或 swow。在 MineAdmin 中都是由 Hyperf 透過symfony/console 元件接入 啟動命令 php bin/hyperf.php start

MineAdmin 是構建執行在 PHP + (Swoole or Swow) + Hyperf 上的,想要了解透徹 MineAdmin 的生命週期,那麼理解基層架構的生命週期也是至關重要的。

本文將不再另行說明上述基層架構生命週期,如有興趣請自行研究學習. 本文將更傾向與業務相關的生命週期描述

雙 Token 認證重新整理

雙Token機制是指在使用者登入過程中,除了傳統的Access Token外,還引入了一個額外的Refresh TokenAccess Token主要用於驗證使用者身份和保持使用者會話, 而Refresh Token則用於在Access Token過期後重新獲取新的Access Token。這種設計可以在保證安全性的同時, 提供更好的使用者體驗。

TIP

預設提供的應用程式認證機制都是由兩個 token 來實現互動重新整理鑑權的 也就是 AccessToken 以及 RefreshToken

而關於 Jwt 的生成和鑑權則統一由 MineAdmin 接入 lcobucci/jwt 元件而實現的


時序圖

plantuml diagram

流程圖

plantuml diagram

講解

在登入成功後,將 access token 與 refresh token 儲存於本地。

當某次請求出現失敗,且錯誤碼為 401,同時本地的 refresh_token 未過期時,需先將當前請求資訊暫存至佇列中。此佇列旨在防止同一時刻多個請求同時去重新整理 token。

隨後,利用 refresh token 換取新的 access_token 與 refresh_token。

倘若換 token 的介面同樣返回 401 錯誤碼,則意味著 acces

致力于为品牌和企业创造价值