任務內容

全站授權地基(JWT)的用法體檢與改善建議。這是評估案、非 bug 修復——結論分「做對的」「該修的」「技術債」三層。核心結論:機制(撤銷 / 演算法 / 傳輸)合格甚至偏好,但 token 壽命設定有明顯問題,投報率最高的一改只需動 config。

現況/需求釐清

✅ 做對的(不用改)

🔴 主要問題:token 壽命 + access/refresh 分工(實查 config/config.py

環境 access token refresh token
正式 / staging(BaseConfig) 30000 秒 = 8.3 小時 72000 秒 = 20 小時
開發(DevelopmentPremise) 300000 秒 = 83 小時 ≈ 3.5 天 720000 秒 = 200 小時 ≈ 8.3 天
  1. access token 8.3 小時太長(業界慣例 15~60 分)。access 每請求都送,壽命越長、外洩後可被盜用窗口越大。目前靠每請求查 DB 白名單止血,但那是補救、非源頭控制。開發環境 3.5 天更誇張。
  2. refresh 僅比 access 長 2.4 倍(正式環境),access/refresh 分工形同虛設。正常應是 access 短(分鐘級頻繁換)+ refresh 長(天/週級)。現況兩者差不多長,白拆成兩個。

🟠🟡 其他技術債