概要
本記事では、JWT(JSON Web Token)を使用した認証システムにおいて、PostmanでのAPI検証方法を解説します。特に、Cookieベースでアクセストークンを管理するシステムにおける、ログインからログアウトまでの一連の流れを説明します。
構成
- 認証方式: JWT (Cookie-based)
- テストツール: Postman
注:今回の記事には refresh_token の記載もありますが、無視でOKです!
検証環境のセットアップ
1. Postman環境変数の作成
新しい環境を作成し、以下の変数を準備します:
-
base_url
:http://localhost:8000
-
access_token
: (空の状態で作成)
ログイン機能の検証
1. ログインリクエストの設定
POST {{base_url}}/api/auth/login
Content-Type: application/json
{
"email": "test@example.com",
"password": "test"
}
2. テストスクリプトの設定
ログインリクエストのスクリプトタブに以下のスクリプトを追加します:
// Cookieからトークンを取得
const getCookieValue = (cookieName) => {
const cookies = pm.cookies.get(cookieName);
return cookies || null;
};
// access_tokenとrefresh_tokenを取得
const accessToken = getCookieValue('access_token');
const refreshToken = getCookieValue('refresh_token');
// 環境変数に保存
if (accessToken) {
pm.environment.set('access_token', accessToken);
console.log('Access token saved:', accessToken);
}
if (refreshToken) {
pm.environment.set('refresh_token', refreshToken);
console.log('Refresh token saved:', refreshToken);
}
3. ログイン成功の確認
- ステータスコード:
200 OK
- レスポンスヘッダー:
Set-Cookie
にアクセストークンが含まれていることを確認 - Postman環境変数:
access_token
が自動的に設定されていることを確認
ログアウト機能の検証
1. ログアウトリクエストの設定
POST {{base_url}}/api/auth/logout
Authorization: Bearer {{access_token}}
2. 正常系の確認
認可タブで Auth Type をBearer トークンに指定します
トークンの値には {{access_token}} として、環境の値を参照するようにします
- ステータスコード:
204 No Content
- Cookie:
access_token
が削除されていることを確認
まとめ
この手順に従うことで、JWT認証を使用したAPIのログイン・ログアウト機能を効率的にテストすることができます🚀