JWT Token
ผลลัพธ์ที่ถอดรหัส
วาง JWT token เพื่อถอดรหัส
เกี่ยวกับเครื่องมือถอดรหัส JWT
ถอดรหัส JSON Web Token เพื่อดู header, payload และ signature ตรวจสถานะหมดอายุ ระบุอัลกอริทึมการเซ็น และอธิบาย registered claims โดยประมวลผลทั้งหมดในเบราว์เซอร์ของคุณ
คู่มือ JSON Web Token (JWT)
เครื่องมือถอดรหัสและตรวจ JWT ออนไลน์ฟรี
ถอดรหัสและตรวจ JSON Web Token ได้ทันทีด้วยเครื่องมือ JWT decoder ออนไลน์ฟรี ดู JOSE header, payload claims, สถานะหมดอายุ และอัลกอริทึมการเซ็น เหมาะกับงาน authentication, authorization, API token, OAuth 2.0 และ OpenID Connect
คุณสมบัติหลัก
ตรวจ Header
- ดูอัลกอริทึมการเซ็น เช่น HS256 หรือ RS256
- ระบุประเภท token
- แสดง key ID (kid)
- อธิบาย JOSE header fields ที่ใช้บ่อย
ถอดรหัส Payload
- แสดง claims ทั้งหมดพร้อมคำอธิบาย
- แปลง timestamp เป็นวันที่อ่านง่าย
- ระบุ registered claims เช่น iss, sub, aud และ exp
- แสดง custom claims
ตรวจวันหมดอายุ
- ตรวจการหมดอายุอัตโนมัติ
- แสดง badge หมดอายุหรือยังไม่หมดอายุ
- แสดงเวลาหมดอายุให้อ่านง่าย
- ถอดรหัส timestamp iat และ nbf
แสดงผลแบบแบ่งสี
- Header แสดงด้วยสีชมพู
- Payload แสดงด้วยสีม่วง
- Signature แสดงด้วยสีฟ้า
- แยกส่วนต่างๆ ของ JWT ให้เห็นชัดเจน
JWT คืออะไร?
JSON Web Token (JWT) คือรูปแบบกะทัดรัดและปลอดภัยสำหรับ URL ที่ใช้แทน claims ระหว่างสองฝ่าย กำหนดไว้ใน RFC 7519 และนิยมใช้กับ authentication และ authorization ในเว็บแอป API และ microservices
โครงสร้าง JWT:
Header: metadata ของ token เช่น อัลกอริทึมการเซ็นและประเภท token
Payload: claims เกี่ยวกับผู้ใช้หรือ entity รวมถึง metadata ของ token
Signature: ค่าที่ได้จากการเซ็น header และ payload ที่เข้ารหัสแล้วด้วย secret หรือ private key
Registered JWT Claims
iss: Issuer หรือผู้ที่ออก JWT
sub: Subject โดยทั่วไปคือผู้ใช้หรือ entity ที่ token กล่าวถึง
aud: Audience หรือผู้รับที่ token นี้ตั้งใจให้ใช้
exp: เวลาหมดอายุ หลังจากเวลานี้ token ไม่ควรถูกยอมรับ
nbf: Not-before ก่อนเวลานี้ token ไม่ควรถูกยอมรับ
iat: เวลาที่ออก token
jti: รหัส token ที่ไม่ซ้ำ มีประโยชน์สำหรับป้องกัน replay
อัลกอริทึมการเซ็นที่พบบ่อย
HS256: HMAC กับ SHA-256 ใช้ shared secret เดียวสำหรับเซ็นและตรวจสอบ
RS256: RSA กับ SHA-256 ใช้ private key เซ็น และ public key ตรวจสอบ
ES256: ECDSA กับ P-256 และ SHA-256 ใช้ elliptic curve พร้อม signature ที่สั้นกว่า
PS256: RSA-PSS กับ SHA-256 เป็นรูปแบบ RSA ที่แข็งแรงขึ้นด้วย probabilistic padding
วิธีใช้เครื่องมือถอดรหัส JWT
- วาง JWT: คัดลอก JWT token ลงในช่องอินพุต ระบบจะเริ่มถอดรหัสอัตโนมัติ
- ดู header: เปิดแท็บ Header เพื่อดูอัลกอริทึม ประเภท token และ key ID
- ตรวจ payload: เปิดแท็บ Payload เพื่อดู claims ทั้งหมดพร้อมคำอธิบายที่อ่านง่าย
- ตรวจหมดอายุ: เครื่องมือจะตรวจว่า token หมดอายุแล้วหรือยังใช้ได้
- ดู signature: เปิดแท็บ Signature เพื่อดู signature ดิบและข้อมูลอัลกอริทึม
- คัดลอกแต่ละส่วน: ใช้ปุ่มคัดลอกเพื่อคัดลอกส่วนที่ถอดรหัสเป็น JSON ที่จัดรูปแบบแล้ว
งานที่นิยมใช้ JWT
Authentication: หลังผู้ใช้เข้าสู่ระบบ เซิร์ฟเวอร์ออก JWT และ client ส่ง token นี้ไปกับ request ถัดไปเพื่อยืนยันตัวตน
Authorization: JWT สามารถเก็บ role หรือ permissions เพื่อให้ API ตัดสินสิทธิ์การเข้าถึงได้
Single Sign-On: JWT ช่วยแชร์สถานะการเข้าสู่ระบบข้ามหลายบริการผ่าน identity provider กลาง
API Security: JWT authentication แบบ stateless ใช้บ่อยกับ REST, GraphQL, microservices และ serverless
OAuth 2.0 / OpenID Connect: JWT ใช้เป็น access token, ID token และบางครั้งใช้เป็น refresh token
เหมาะสำหรับ
- นักพัฒนา Backend
- นักพัฒนา Frontend
- นักพัฒนา API
- วิศวกรความปลอดภัย
- วิศวกร DevOps
- ทีม QA และทดสอบ
- นักพัฒนาแอปมือถือ
- สถาปนิก microservices
- งาน identity และ access management
- ผู้เรียน authentication
- ทีม technical support
- ผู้ตรวจสอบความปลอดภัย
แนวทางความปลอดภัยสำหรับ JWT
- ตรวจ signature บนฝั่งเซิร์ฟเวอร์เสมอ
- ใช้ token อายุสั้นและ refresh token เมื่อเหมาะสม
- เลือกอัลกอริทึมที่แข็งแรง เช่น RS256 หรือ ES256 สำหรับโปรดักชัน
- ตรวจ claims อย่าง iss, aud, exp และ nbf บนเซิร์ฟเวอร์
- อย่าใส่ข้อมูลอ่อนไหวใน payload เพราะ JWT ถูก encode ไม่ใช่ encrypt
- ส่ง token ผ่าน HTTPS เท่านั้น
- เก็บ token อย่างปลอดภัย เช่น httpOnly cookies สำหรับเว็บแอป
- วางแผนการ revoke token ด้วยอายุสั้น refresh rotation หรือ deny list
ปกป้องความเป็นส่วนตัวอย่างเต็มที่
การถอดรหัส JWT ทั้งหมดทำงานในเบราว์เซอร์ของคุณด้วย JavaScript token ของคุณจะไม่ถูกอัปโหลด จัดเก็บ บันทึก หรือส่งต่อให้บุคคลที่สาม
เรียนรู้พื้นฐาน JWT
เพิ่งเริ่มใช้ JSON Web Token? อ่านคู่มือสำหรับผู้เริ่มต้นที่อธิบายโครงสร้าง token, claims, การเซ็น และแนวทางความปลอดภัย
อ่าน: JWT คืออะไร?เครื่องมือสำหรับนักพัฒนาที่เกี่ยวข้อง
จัดรูปแบบ JSON
จัดรูปแบบ ตรวจสอบ และทำให้ JSON อ่านง่าย เหมาะสำหรับตรวจ payload ของ JWT ที่ถอดรหัสแล้ว
เข้ารหัส Base64
เข้ารหัสและถอดรหัส Base64 โดย JWT ใช้ Base64URL กับ header และ payload
สร้างแฮช
สร้าง hash เพื่อเปรียบเทียบ workflow ด้าน integrity และการเซ็นข้อมูล
สร้างรหัสผ่าน
สร้าง secret ที่แข็งแรงสำหรับเซ็น JWT และ credentials ของแอป
แปลง Timestamp
แปลง Unix timestamp ที่ใช้ใน claims exp, iat และ nbf ของ JWT
สร้าง UUID
สร้าง UUID สำหรับ JWT ID, jti claim และ identifier ที่ไม่ซ้ำในแอป