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

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