はじめに
JWT(JSON Web Token)は、認証の際にAPIリクエストを安全に行うための仕組みです。
最近、認証付きAPIを利用する機会が増えたため、JWTの取得方法について整理することにしました。
本記事では、さまざまな方法で JWT を取得する手順を紹介します。
JWT (JSON Web Token) の取得方法
YOUR_JWT_TOKEN_HERE とは?
API へのリクエストで認証を行うには、JWT(JSON Web Token) が必要です。JWT は、通常以下の方法で取得できます。
1. ログイン API を使って取得
多くのアプリケーションでは、ログイン時に JWT を発行する API が用意されています。
例えば、以下のようなリクエストでログインし、JWT を取得できます。
curl -X POST "http://localhost:1323/api/login" \
-H "Content-Type: application/json" \
-d '{"username": "your_username", "password": "your_password"}'
レスポンスの例:
{
"token": "eyJhbGciOiJIUzI1NiIsInR..."
}
この token
の値が YOUR_JWT_TOKEN_HERE
に該当します。
2. 開発環境で .env
や設定ファイルに記載されている場合
開発用の JWT トークンが .env
や config.json
などに保存されている場合があります。
例えば、.env
ファイルに以下のように記載されていることがあります。
JWT_SECRET=your_secret_key
JWT_TOKEN=eyJhbGciOiJIUzI1NiIsInR...
その場合、JWT_TOKEN
の値を YOUR_JWT_TOKEN_HERE
に入れてください。
3. サーバー側のコードを確認
サーバー(バックエンド)のコードで、JWT をどのように発行しているかを確認できます。
例えば、Echo(Go言語のフレームワーク)を使っている場合、JWT の発行コードは以下のようになっているかもしれません。
token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
"user_id": 123,
"exp": time.Now().Add(time.Hour * 24).Unix(),
})
tokenString, err := token.SignedString([]byte("your_secret_key"))
if err != nil {
return err
}
この tokenString
が JWT なので、これを取得して使います。
4. ブラウザの開発者ツールやネットワークログで確認
もし JWT がブラウザで発行・使用されている場合、開発者ツール(DevTools) の「ネットワーク」タブでリクエストを確認すると、Authorization: Bearer ...
のヘッダーに JWT が含まれている場合があります。
5. すでにログイン済みなら Cookie や LocalStorage に保存されている可能性
一部のアプリでは、JWT をブラウザの LocalStorage や Cookie に保存していることがあります。
LocalStorage の場合
- 開発者ツールを開く(Chrome:
F12
またはCtrl + Shift + I
) -
Application
タブ →LocalStorage
→http://localhost:1323
-
jwt
やtoken
などのキーを探す
Cookie の場合
-
Application
タブ →Cookies
→http://localhost:1323
-
jwt_token
などのキーを探す
6. ダミーの JWT を生成する
もし JWT を手元でテストするだけなら、jwt.io で適当なトークンを作成することもできます。
まとめ
方法 | 説明 |
---|---|
ログイン API を使って取得 | 一般的な方法。認証サーバーにログインしてトークンを取得する |
.env や設定ファイルを確認 | 開発環境の設定ファイルにトークンがあるか確認 |
サーバーの JWT 発行コードをチェック | バックエンドのコードを見て、JWT の発行方法を確認 |
ブラウザの開発者ツールで確認 |
Network タブで API リクエストを確認し、JWT を探す |
LocalStorage や Cookie で確認 | ブラウザに保存された JWT を探す |
テスト用に jwt.io で生成 |
簡単なテスト用にダミーの JWT を作成 |
まずは、ログイン API を試すのが一番確実な方法 です!