トークンが取得できない(認証エラー)

トラブル トークン 認証 OAuth
事象
OAuth トークンエンドポイント(/oauth/token)が4xxを返し、アクセストークンが取得できない。

主なエラーと対処

error 原因 対処
invalid_clientクライアントID/シークレットが間違い開発者ポータルで確認、再生成検討
invalid_grant認可コードが期限切れ・使用済み・無効認可フローからやり直し
redirect_uri_mismatch登録済みURIと一致しない大文字小文字・末尾スラッシュ・ポートまで一致確認
invalid_scope要求スコープがアプリに許可されていないアプリ設定でスコープを確認
unauthorized_clientアプリが該当のグラントタイプを使えないアプリタイプ設定を確認
unsupported_grant_typegrant_type パラメータが不正authorization_code または refresh_token

切り分けチェックリスト

  • ☐ クライアントID・シークレットが本番/開発で取り違えていないか
  • ☐ シークレットを直近で再生成していないか
  • ☐ 認可コードを取得してから10分以内に交換しているか
  • ☐ 同じ認可コードを2回使おうとしていないか
  • redirect_uri が認可リクエスト時と完全一致しているか
  • Content-Type: application/x-www-form-urlencoded になっているか
  • ☐ パラメータがクエリではなくボディに入っているか

よくあるミス

JSON で送ってしまっている

OAuth トークンエンドポイントは application/x-www-form-urlencoded 必須です。JSON を送ると invalid_request になります。

Basic 認証と body のクライアント情報を二重に送っている

どちらか一方に統一してください。両方送ると invalid_request になることがあります。

シークレットの URL エンコード忘れ

シークレットに記号が含まれる場合は URL エンコードが必要です。

関連ガイド

公開日: 2026-04-27 更新日: 2026-04-27