DevToolPal
日本語
4xx クライアントエラー

401 Unauthorized

認証が必要

意味

リクエストに有効な認証情報がありません。名前は Unauthorized ですが意味は「未認証」で、ログインするか有効なトークンを送る必要があります。

よくある原因

  • 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."
}

仕様

RFC 9110 §15.5.2

よくある質問

› 401 と 403 の違いは?

401:あなたが誰かわからないので認証してください。403:誰かはわかっているが、その操作は許可されていません。

› ログイン直後に 401 になるのはなぜ?

多くの場合、トークンがリクエストに付いていない(資格情報なしの CORS、ヘッダー名の誤り)か、時計のずれで期限切れに見えています。