雲端平台會攔截認證標頭的地雷
登入成功但所有 API 都驗證失敗?先懷疑代管平台攔截了 Authorization 標頭,改用自訂欄位傳身分證明。
定義:某些雲端網站代管服務(如 Azure Static Web Apps)會把 HTTP 請求裡的 Authorization 標頭(夾帶「我是誰」證明的欄位)攔截下來自己用,後端根本收不到——造成「登入成功但所有 API 都驗證失敗」的詭異現象。
當時的症狀 vs 真正的原因
症狀:使用者明明登入成功,打 API(前端向後端要資料的呼叫)卻一直說「驗證失敗」,錯誤訊息還誤導人(顯示 invalid algorithm,看起來像加密方式錯了)。
真正的原因:代管平台把 Authorization 標頭保留給自己的認證機制用,攔下來不轉交,後端收到的請求裡根本沒有身分證明。
解法(AI 當時怎麼解)
另外開一個自訂欄位 X-Auth-Token 來傳身分證明,避開平台保留的欄位。
症狀對照(快速對號入座)
登入成功但所有 API 都 401/驗證失敗 → 先懷疑平台攔標頭,不是密碼錯,也不是加密演算法問題。
驗收時該檢查什麼
驗收任何登入功能時:登入後實際打一支需要身分的 API 看有沒有資料回來,不能只看「登入成功」畫面。