API開発やテストの際に便利なツール「POSTMAN」を使って、ブラウザ上でのリクエストを再現しようとしたところ、以下のようなエラーに遭遇しました。
{
"message": "Token not provided"
}
エラーの発生状況
- POSTMANで リクエストボディにJSONを記述。
- Chromeの開発者ツール(検証ツール) > ネットワークタブから、実際のブラウザリクエストを参考にして、JSONデータをコピーして送信。
- しかし、サーバー側から「Token not provided(トークンが提供されていない)」というエラーが返されてしまいました。
原因
API側が 認証トークン(JWTなど)をリクエストヘッダーの Authorization に含めることを期待していたためです。
ブラウザでの通常のリクエストでは、自動的にトークンがヘッダーに付加されますが、POSTMANでは自分で手動で設定する必要があります。
解決方法
ステップ1:トークンを取得する
-
ブラウザの検証ツールを開く(右クリック → 「検証」または
F12
)。 - ネットワークタブを選択。
- 任意のAPIリクエストを選択し、「ヘッダー」タブを開く。
- 下記のような項目を見つけて、コピーします。
Authorization: Bearer xxxxx.yyyyy.zzzzz
※「Bearer」から始まる文字列全体がトークンです。
ステップ2:POSTMANに設定する
- POSTMANで該当のリクエストを開く。
- 「Headers」タブを選択。
- 下記のように追加:
Key | Value |
---|---|
Authorization | Bearer xxxxx.yyyyy.zzzzz |
※コピペする際、"Bearer" も忘れずに含めてください。
ステップ3:リクエストを再送信
トークンを設定したら、再度リクエストを送信してみましょう。正常なレスポンスが返ってくるはずです。
まとめ
「Token not provided」エラーは、APIがトークンベースの認証を要求していることを示しています。
POSTMANでリクエストを再現する際は、Authorizationヘッダーに正しくトークンをセットする必要があります。
ブラウザの検証ツールから必要な情報を取得することで、スムーズにデバッグやテストが行えます。