生命週期
TIP
不論是 swoole 或 swow。在 MineAdmin 中都是由 Hyperf 通過symfony/console 組件接入 啓動命令 php bin/hyperf.php start
MineAdmin 是構建運行在 PHP + (Swoole or Swow) + Hyperf 上的,想要了解透徹 MineAdmin 的生命週期,那麼理解基層架構的生命週期也是至關重要的。
本文將不再另行説明上述基層架構生命週期,如有興趣請自行研究學習. 本文將更傾向與業務相關的生命週期描述
雙 Token 認證刷新
雙Token機制是指在用户登錄過程中,除了傳統的Access Token
外,還引入了一個額外的Refresh Token
。Access Token
主要用於驗證用户身份和保持用户會話, 而Refresh Token
則用於在Access Token
過期後重新獲取新的Access Token
。這種設計可以在保證安全性的同時, 提供更好的用户體驗。
TIP
默認提供的應用程序認證機制都是由兩個 token 來實現交互刷新鑑權的 也就是 AccessToken
以及 RefreshToken
而關於 Jwt 的生成和鑑權則統一由 MineAdmin 接入 lcobucci/jwt 組件而實現的
時序圖
流程圖
講解
在登錄成功後,將 access token 與 refresh token 存儲於本地。
當某次請求出現失敗,且錯誤碼為 401,同時本地的 refresh_token 未過期時,需先將當前請求信息暫存至隊列中。此隊列旨在防止同一時刻多個請求同時去刷新 token。
隨後,利用 refresh token 換取新的 access_token 與 refresh_token。
倘若換 token 的接口同樣返回 401 錯誤碼,則意味着 acces