Bearer Token / JWT
POST + GET · /api/practice/level3/jwt/login · Khó
Mô tả bài tập
Bước 1: POST tới /jwt/login với { username: 'tester', password: 'Test@123' } để nhận về accessToken (JWT, hết hạn sau 60 giây). Bước 2: gọi GET /api/practice/level3/jwt/me kèm header Authorization: Bearer <accessToken>. Thử đợi hơn 60 giây rồi gọi lại để thấy lỗi token hết hạn (401 với message 'token expired').
Mục tiêu học được
- Hiểu luồng 2 bước: lấy token rồi mới gọi API chính
- Test token hết hạn (expired) - một lỗi rất hay gặp trong thực tế
- Test token bị sửa đổi/không hợp lệ (invalid signature)
💡 Mẹo Postman: dùng tab Tests của request login để tự động lưu accessToken vào biến môi trường, request sau dùng {{accessToken}}.
Lệnh curl
# Bước 1: đăng nhập lấy token
curl -i -X POST "http://testing-api.systemhub.uk/api/practice/level3/jwt/login" \
-H "X-Practice-Token: YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"username": "tester", "password": "Test@123"}'
# Bước 2: dùng accessToken nhận được ở trên
curl -i "http://testing-api.systemhub.uk/api/practice/level3/jwt/me" \
-H "X-Practice-Token: YOUR_TOKEN" \
-H "Authorization: Bearer <accessToken>"
Các bước làm trên Postman
- POST http://testing-api.systemhub.uk/api/practice/level3/jwt/login với body JSON username/password ở trên
- Copy giá trị accessToken trong response
- Tạo request GET http://testing-api.systemhub.uk/api/practice/level3/jwt/me, Tab Authorization chọn 'Bearer Token', dán accessToken
- Gửi và kiểm tra 200 kèm thông tin user
- Đợi hơn 60 giây rồi gửi lại, kiểm tra 401 báo token hết hạn
Đăng nhập để lệnh curl ở trên tự động điền sẵn Practice Token thật của bạn.
🧪 Thử nghiệm trực tiếp
Gọi API ngay tại đây. Nếu bạn đã đăng nhập, tiến độ sẽ được ghi nhận tự động khi gọi đúng như kỳ vọng của bài.
Kết quả
Status: