JWT Token คืออะไร อ่านข้อมูลใน Payload ยังไง
🔑 JWT (JSON Web Token) ใช้กันแพร่หลายใน API Authentication — เมื่อ Login แล้วได้ Token มา นั่นคือ JWT ที่ server ใช้ยืนยันตัวตนของคุณในทุก Request ถัดไป
โครงสร้าง JWT
JWT ประกอบด้วย 3 ส่วนคั่นด้วยจุด (.):
แต่ละส่วน encode ด้วย Base64URL (Header และ Payload อ่านได้ทุกคน แต่ Signature ต้องใช้ secret key ตรวจสอบ)
อ่าน Header: algorithm ที่ใช้ sign
{
"alg": "HS256", // algorithm
"typ": "JWT"
}
Algorithm ที่พบบ่อย:
- HS256: HMAC SHA-256 — ใช้ Shared Secret Key เหมาะสำหรับ API เดียวกัน
- RS256: RSA SHA-256 — ใช้ Public/Private Key คู่ เหมาะสำหรับ Microservices
- ES256: ECDSA — ขนาดเล็กกว่า RSA ปลอดภัยพอๆ กัน
อ่าน Payload: Claims ที่ใช้บ่อย
"sub": "user123", // Subject — User ID
"name": "สมชาย ใจดี", // Custom claim
"email": "[email protected]",
"role": "admin",
"iat": 1716000000, // Issued At (Unix timestamp)
"exp": 1716086400, // Expiration (Unix timestamp)
"iss": "api.myapp.com" // Issuer
}
| Claim | ชื่อเต็ม | ความหมาย |
|---|---|---|
sub | Subject | User ID หรือ identifier ของ token |
iat | Issued At | เวลาสร้าง token (Unix timestamp) |
exp | Expiration | เวลาหมดอายุ — server ปฏิเสธ token หลังจากนี้ |
iss | Issuer | ใครเป็นคนออก token |
aud | Audience | token นี้ใช้กับ service ไหน |
nbf | Not Before | token ใช้ได้หลังเวลานี้เท่านั้น |
Signature ทำงานอย่างไร
Signature สร้างจาก:
base64url(header) + "." + base64url(payload),
secret_key
)
Server ที่รู้ secret_key เท่านั้นที่สามารถสร้างหรือตรวจสอบ Signature ได้ ถ้ามีใครแก้ไข Payload (เช่น เปลี่ยน role จาก "user" เป็น "admin") Signature จะ invalid ทันที
⚠️ Payload ของ JWT อ่านได้ทุกคน เพราะ Base64URL decode ง่ายมาก อย่าใส่ข้อมูลลับ เช่น password หรือ credit card ใน JWT Payload
วิธีใช้ JWT ใน HTTP Request
GET /api/user/profile
Authorization: Bearer eyJhbGci...<token>
// JavaScript fetch
fetch('/api/data', {
headers: { 'Authorization': 'Bearer ' + token }
});
✅ ต้องการดู Payload ของ JWT ที่ได้รับมา? ใช้ JWT Decoder ที่ทำงานในเบราว์เซอร์ล้วน — token ไม่ถูกส่งออกไปไหน
🔍 Decode JWT Token และอ่าน Payload
วาง JWT Token ระบบ decode Header, Payload, ตรวจสอบ expiration และแสดงข้อมูลในรูปแบบอ่านง่าย
เปิด JWT Decoder →ฟรี · ไม่ต้องสมัครสมาชิก · Token ไม่ออกจากเบราว์เซอร์