生命週期
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