意義
請求缺少有效的身分驗證憑證。雖然叫「未授權」,實際意思是「未驗證」:請登入或送出有效的權杖。
常見原因
- 缺少 Authorization 標頭
- 權杖過期或已撤銷
- 使用者名稱、密碼或 API 金鑰錯誤
解決方法
用戶端或訪客
依 WWW-Authenticate 標頭要求的格式送出憑證,更新過期的權杖,並檢查是否打錯字或用錯環境的金鑰。
網站或 API 的維護者
回傳 401 時一律附上 WWW-Authenticate 標頭。使用者已驗證但沒有權限時用 403。
回應範例
HTTP/1.1
HTTP/1.1 401 Unauthorized
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
WWW-Authenticate: Bearer realm="api", error="invalid_token"
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Unauthorized",
"status": 401,
"detail": "The access token expired."
} 規範
常見問題
› 401 與 403 的差別?
401:我們不知道你是誰,請先驗證。403:我們知道你是誰,但你不能做這件事。
› 為什麼剛登入就收到 401?
通常是請求沒有附上權杖(CORS 未帶憑證、標頭名稱錯誤),或時鐘偏差讓權杖看起來已過期。