คู่มือการใช้งาน JWT Generator: สร้าง JSON Web Token อย่างปลอดภัย
เรียนรู้วิธีสร้าง ลงชื่อ และตรวจสอบ JSON Web Tokens (JWT) ทำความเข้าใจโครงสร้าง JWT, algorithms, claims, และแนวทางความปลอดภัยสำหรับ authentication
Table of Contents
คู่มือการใช้งาน JWT Generator: สร้าง JSON Web Token อย่างปลอดภัย
ในยุคที่แอปพลิเคชันสมัยใหม่ทำงานแบบ stateless และกระจายตัวผ่าน microservices, API gateway และระบบ single sign-on (SSO) การยืนยันตัวตนผู้ใช้งานจึงไม่สามารถพึ่งพา session ที่จัดเก็บฝั่งเซิร์ฟเวอร์แบบเดิมได้อีกต่อไป เทคโนโลยีที่กลายเป็นมาตรฐานสำหรับการส่งข้อมูลยืนยันตัวตนระหว่างระบบคือ JSON Web Token หรือ JWT — สตริงขนาดกะทัดรัดที่บรรจุข้อมูลผู้ใช้และลายเซ็นดิจิทัล ช่วยให้เซิร์ฟเวอร์ฝั่งรับสามารถเชื่อถือข้อมูลได้โดยไม่ต้องสอบถามฐานข้อมูลทุกครั้ง
อย่างไรก็ตาม การสร้าง JWT ที่ถูกต้องด้วยมือหรือด้วยโค้ดที่เขียนขึ้นเองมักเกิดข้อผิดพลาดได้ง่าย ทั้งการเลือก algorithm ผิด, การตั้งค่า claims ไม่ครบ, หรือการเข้ารหัส base64url ไม่ถูกต้อง JWT Generator จึงเป็นเครื่องมือออนไลน์ที่ช่วยให้นักพัฒนาสร้าง token ที่ถูกต้องตรงตามมาตรฐาน RFC 7519 ได้อย่างรวดเร็ว พร้อมตัวอย่างแบบเรียลไทม์ที่ทำให้เห็นผลลัพธ์ทันทีทุกครั้งที่แก้ไขค่า
ที่สำคัญคือ JWT Generator ของเรา ทำงานฝั่งไคลเอนต์ (client-side) 100% โดยใช้ Web Crypto API ของเบราว์เซอร์ หมายความว่า secret key และข้อมูลที่คุณกรอกจะไม่มีทางถูกส่งไปยังเซิร์ฟเวอร์ใด ๆ ทั้งสิ้น คุณจึงมั่นใจได้ว่าข้อมูลละเอียดอ่อนของคุณปลอดภัยอยู่ภายในเครื่องเสมอ
JWT คืออะไร?
JSON Web Token (JWT) คือมาตรฐานเปิด (RFC 7519) สำหรับการส่งข้อมูลระหว่างสองฝ่ายในรูปแบบที่กะทัดรัดและปลอดภัย โดยข้อมูลจะถูกเข้ารหัสเป็นสตริงยาวที่ประกอบด้วยสามส่วนหลัก คั่นด้วยจุด (.) ดังนี้:
header.payload.signature
ตัวอย่าง JWT จริง:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
โครงสร้างสามส่วนของ JWT
1. Header
ส่วนแรกเป็น JSON object ที่ระบุประเภทของ token และอัลกอริทึมที่ใช้ในการลงชื่อ (signing algorithm) จากนั้นจะถูกเข้ารหัสด้วย base64url encoding
{
"alg": "HS256",
"typ": "JWT"
}
เมื่อนำไป encode ด้วย base64url จะได้:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
2. Payload
ส่วนที่สองบรรจุ claims ซึ่งเป็นข้อมูลเกี่ยวกับตัวตน, สิทธิ์การเข้าถึง, และข้อมูลเมตาอื่น ๆ ของ token เช่นเดียวกับ header ส่วนนี้จะถูกเข้ารหัสด้วย base64url เช่นกัน
{
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022,
"exp": 1516242622
}
เมื่อนำไป encode ด้วย base64url จะได้:
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ
⚠️ สำคัญ: Payload ถูกเข้ารหัสเพื่อให้อ่านได้ง่ายเท่านั้น ไม่ได้เข้ารหัสเพื่อปกปิดข้อมูล ใครก็สามารถ decode base64url และอ่านเนื้อหาได้ ดังนั้น ห้ามใส่ข้อมูลลับ เช่น รหัสผ่านใน payload เด็ดขาด
3. Signature
ส่วนสุดท้ายคือลายเซ็นดิจิทัลที่สร้างขึ้นจาก header ที่เข้ารหัสแล้ว ต่อด้วย payload ที่เข้ารหัสแล้ว โดยใช้ secret key หรือ private key ตาม algorithm ที่ระบุใน header ลายเซ็นนี้คือกุญแจที่ทำให้เซิร์ฟเวอร์ฝั่งรับสามารถตรวจสอบได้ว่า token นั้นถูกต้องและไม่ถูกดัดแปลงระหว่างทาง
สำหรับ HMAC SHA-256 (HS256) กระบวนการสร้าง signature คือ:
HMACSHA256( base64url_encode(header) + "." + base64url_encode(payload), secret_key )
ผลลัพธ์ที่ได้จะถูก encode ด้วย base64url อีกครั้ง กลายเป็นส่วนที่สามของ token:
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Base64url Encoding คืออะไร?
JWT ใช้ base64url ซึ่งเป็นรูปแบบดัดแปลงของ base64 ปกติ โดยแทนที่อักขระ + ด้วย -, แทนที่ / ด้วย _ และลบเครื่องหมาย = ท้ายสุดออก เพื่อให้สามารถใช้ใน URL, HTTP header และ query parameter ได้อย่างปลอดภัยโดยไม่ต้อง escape อักขระพิเศษ
ทำไมต้องใช้ JWT Generator?
การเขียนโค้ดสร้าง JWT ด้วยตัวเองในตอนเริ่มต้นของการพัฒนาอาจดูยุ่งยากและเสียเวลา JWT Generator ช่วยลดภาระเหล่านั้นได้หลายประการ:
- การ prototype อย่างรวดเร็ว — สร้าง token ที่ใช้งานได้จริงในไม่กี่วินาที โดยไม่ต้องเขียนโค้ดหรือตั้งค่า environment ใหม่ทั้งหมด
- การ debug authentication flows — เมื่อระบบ auth ทำงานผิดปกติ คุณสามารถสร้าง token ที่กำหนดค่าเองเพื่อทดสอบว่าเซิร์ฟเวอร์ตอบสนองอย่างไร โดยไม่ต้องเดาจาก error message เพียงอย่างเดียว
- ทดสอบ edge cases — สร้าง token ที่หมดอายุแล้ว, มี claims ผิดปกติ, หรือใช้ algorithm ต่างกัน เพื่อตรวจสอบว่าระบบจัดการสถานการณ์เหล่านั้นอย่างถูกต้องหรือไม่
- เรียนรู้โครงสร้าง JWT — เครื่องมือแสดงผล header, payload และ signature แบบแยกส่วน ทำให้ผู้เริ่มต้นเข้าใจว่าแต่ละส่วนทำงานอย่างไร
- ไม่ต้องมี backend — เพราะทุกอย่างทำงานในเบราว์เซอร์ คุณไม่ต้องติดตั้ง Node.js, รัน Docker หรือเชื่อมต่อกับเซิร์ฟเวอร์ใด ๆ
- ความเป็นส่วนตัวสูงสุด — การประมวลผลฝั่งไคลเอนต์ 100% หมายความว่า secret key และข้อมูลของคุณไม่มีทางออกจากเครื่อง
คุณสมบัติเด่น (Key Features)
JWT Generator ถูกออกแบบมาให้ครอบคลุมทั้งความต้องการของมือใหม่ที่กำลังเรียนรู้ และนักพัฒนามืออาชีพที่ต้องการเครื่องมือที่รวดเร็วและเชื่อถือได้:
| Feature | Description |
|---|---|
| HMAC Algorithms | รองรับ HS256, HS384 และ HS512 — การลงชื่อแบบ symmetric ที่ใช้ secret key เดียวกันทั้งฝั่งสร้างและฝั่งตรวจสอบ |
| RSA Algorithms | รองรับ RS256, RS384 และ RS512 — การลงชื่อแบบ asymmetric ที่ใช้ public/private key pair เหมาะสำหรับระบบกระจายตัว |
| Standard Claims | รองรับ registered claims ทั้งหมดตามมาตรฐาน: iss, sub, aud, exp, iat, nbf, jti |
| Custom Claims | เพิ่ม custom claims ได้อย่างอิสระ เพื่อบรรจุข้อมูลธุรกิจเฉพาะของแอปพลิเคชัน เช่น role, permissions, company_id |
| Real-time Preview | ทุกการแก้ไขจะอัปเดต token และการ decode แบบเรียลไทม์ทันที ไม่ต้องกดปุ่มสร้าง |
| Real-time Decoding | แสดงผล header และ payload ที่ decode แล้วควบคู่กับ token เพื่อให้ตรวจสอบความถูกต้องได้ทันที |
| Secret Key Input | กรอก secret key สำหรับ HMAC หรือ private key สำหรับ RSA ได้อย่างปลอดภัย ข้อมูลไม่ออกจากเครื่อง |
| Expiry Configuration | ตั้งค่า exp (expiry) ได้ง่าย ๆ ด้วยการเลือกหน่วยเวลา เช่น 1 ชั่วโมง, 1 วัน, 7 วัน หรือกำหนดเอง |
| Copy to Clipboard | คัดลอก token หรือส่วนใดส่วนหนึ่งได้คลิกเดียว พร้อมใช้งานทันทีใน Postman, curl หรือโค้ด |
| Client-side Only | ประมวลผลทั้งหมดบนเบราว์เซอร์ด้วย Web Crypto API ไม่มีข้อมูลถูกส่งไปยังเซิร์ฟเวอร์ |
วิธีใช้งาน JWT Generator
การสร้าง JWT กับเครื่องมือของเราใช้เวลาเพียงไม่กี่ขั้นตอน ทำตามคำแนะนำต่อไปนี้:
ขั้นตอนที่ 1: เปิดเครื่องมือ
ไปที่หน้า JWT Generator บนเบราว์เซอร์ของคุณ ไม่ต้องสมัครสมาชิก ไม่ต้องดาวน์โหลด ไม่ต้องติดตั้งอะไรเพิ่มเติม
ขั้นตอนที่ 2: เลือก Algorithm
เลือก signing algorithm ที่ตรงกับความต้องการของระบบคุณ:
- HS256 / HS384 / HS512 — สำหรับระบบที่ฝั่งสร้างและฝั่งรับใช้ secret key เดียวกัน
- RS256 / RS384 / RS512 — สำหรับระบบที่ต้องการการแยกระหว่าง public key (ฝั่งรับ) และ private key (ฝั่งสร้าง)
ขั้นตอนที่ 3: กรอก Header
กำหนด header ของ token โดยปกติจะมีฟิลด์ alg และ typ อยู่แล้ว แต่คุณสามารถเพิ่ม custom header fields ได้:
{
"alg": "HS256",
"typ": "JWT",
"kid": "my-key-id-2026"
}
ขั้นตอนที่ 4: เพิ่ม Claims
กรอก payload ด้วย standard claims และ custom claims ที่ระบบของคุณต้องการ:
{
"iss": "https://auth.example.com",
"sub": "user-9f8a2b1c",
"aud": "api.onlinetoolsforge.com",
"iat": 1782508800,
"exp": 1782512400,
"role": "admin",
"permissions": ["read", "write", "delete"],
"company_id": "acme-corp"
}
ขั้นตอนที่ 5: ตั้งค่า Secret Key และ Expiry
- Secret Key (HMAC) — กรอก secret key ที่คุณและเซิร์ฟเวอร์ตกลงกันไว้ ควรเป็นสตริงสุ่มที่มีความยาวอย่างน้อย 32 ตัวอักษร
- Private Key (RSA) — วาง PEM-encoded private key สำหรับการลงชื่อแบบ RSA
- Expiry — เลือกระยะเวลาที่ token จะหมดอายุ คำแนะนำคือตั้งให้สั้น (15 นาที – 1 ชั่วโมง) สำหรับ access token
ผลลัพธ์: Token พร้อมใช้งาน
หลังจากกรอกข้อมูลครบ token จะปรากฏขึ้นทันทีในช่องผลลัพธ์:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Im15LWtleS1pZC0yMDI2In0.eyJpc3MiOiJodHRwczovL2F1dGguZXhhbXBsZS5jb20iLCJzdWIiOiJ1c2VyLTlmOGEyYjFjIiwiYXVkIjoiYXBpLm9ubGluZXRvb2xzZm9yZ2UuY29tIiwiaWF0IjoxNzgyNTA4ODAwLCJleHAiOjE3ODI1MTI0MDAsInJvbGUiOiJhZG1pbiIsInBlcm1pc3Npb25zIjpbInJlYWQiLCJ3cml0ZSIsImRlbGV0ZSJdLCJjb21wYW55X2lkIjoiYWNtZS1jb3JwIn0.k7Hm9pQ3vZ8rX2LwN5yB1fE4tA6sD8cU0jV3bG1hYkM
กดปุ่ม Copy เพื่อคัดลอกและนำไปใช้ใน Authorization header:
curl -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
https://api.example.com/users/me
ทำความเข้าใจ JWT Claims
Claims คือข้อมูล (key-value pairs) ที่บรรจุอยู่ใน payload ของ JWT แบ่งเป็นสามประเภทหลัก: registered claims (ที่กำหนดโดยมาตรฐาน), public claims และ private/custom claims
Standard Registered Claims
มาตรฐาน JWT กำหนด claims ที่มีความหมายเฉพาะ เพื่อให้ระบบต่าง ๆ ใช้ร่วมกันได้อย่างเป็นสากล:
| Claim | ชื่อเต็ม | Description |
|---|---|---|
| iss | Issuer | ระบุผู้ออก token เช่น https://auth.example.com |
| sub | Subject | ระบุตัวตนของ subject มักเป็น user ID ของผู้ใช้ที่ token นี้เป็นของ |
| aud | Audience | ระบุผู้รับที่ตั้งใจไว้ เช่น URL ของ API ที่ token นี้ใช้เข้าถึงได้ |
| exp | Expiration Time | เวลาที่ token หมดอายุ (Unix timestamp) หลังจากเวลานี้เซิร์ฟเวอร์ต้องปฏิเสธ token |
| nbf | Not Before | เวลาที่ token เริ่มมีผล (Unix timestamp) ก่อนหน้านี้ token ยังไม่สามารถใช้งานได้ |
| iat | Issued At | เวลาที่ token ถูกสร้างขึ้น (Unix timestamp) |
| jti | JWT ID | ตัวระบุเฉพาะของ token ใช้เพื่อป้องกันการ replay attack |
Private / Custom Claims
นอกจาก standard claims แล้ว คุณสามารถเพิ่ม custom claims ที่กำหนดขึ้นเองตามความต้องการของแอปพลิเคชัน:
{
"role": "admin",
"permissions": ["read", "write", "delete"],
"company_id": "acme-corp",
"tier": "premium",
"last_login": "2026-07-30T10:30:00Z"
}
คำแนะนำเกี่ยวกับ custom claims:
- ใช้ชื่อที่สื่อความหมายชัดเจนและสอดคล้องกันทั้งระบบ
- หลีกเลี่ยงการใช้ชื่อที่อาจชนกับ standard claims ในอนาคต (เช่น อย่าใช้ iss สำหรับข้อมูลอื่น)
- อย่าใส่ข้อมูลที่ละเอียดอ่อน เช่น รหัสผ่าน, หมายเลขบัตรเครดิต, หรือข้อมูลส่วนบุคคลที่เป็นความลับ เพราะ payload สามารถถูกอ่านได้โดยใครก็ตามที่มี token
การเลือก Signing Algorithm
การเลือก signing algorithm ที่เหมาะสมเป็นปัจจัยสำคัญต่อความปลอดภัยและสถาปัตยกรรมของระบบ โดยทั่วไปแบ่งเป็นสองตระกูลหลักคือ HMAC (symmetric) และ RSA (asymmetric)
การเปรียบเทียบ HMAC vs RSA
| ประเด็น | HMAC (HS256) | RSA (RS256) |
|---|---|---|
| ประเภท | Symmetric (ใช้ key เดียวกัน) | Asymmetric (public/private key pair) |
| ความเร็ว | เร็วกว่า | ช้ากว่าเล็กน้อย |
| ความซับซ้อน | ตั้งค่าง่าย แค่แชร์ secret key | ต้องสร้างและจัดการ key pair |
| การกระจาย key | ทุกฝ่ายต้องรู้ secret key เดียวกัน | ฝั่งสร้างถือ private key, ฝั่งรับถือ public key เท่านั้น |
| ความเสี่ยงด้าน key | secret key รั่ว = ทุกฝ่ายเสี่ยง | private key รั่ว = เฉพาะฝั่งออก token เสี่ยง |
| เหมาะกับ | ระบบเดียวหรือ microservices ที่เชื่อถือกัน | ระบบกระจายตัว, บุคคลที่สาม, SSO/OAuth |
| ขนาด token | เล็กกว่า | ใหญ่กว่า (signature ยาวกว่า) |
เมื่อไรใช้ HMAC (HS256/HS384/HS512)
HMAC เหมาะสำหรับสถานการณ์ที่ ฝั่งสร้างและฝั่งรับเป็นระบบเดียวกันหรือเชื่อถือกันอย่างสมบูรณ์ เช่น:
- API gateway และ microservices ภายในองค์กรเดียวกัน
- แอปพลิเคชัน monolithic ที่มี auth server และ API server อยู่ใน codebase เดียวกัน
- การทดสอบและ prototype ในขั้นตอนพัฒนา
ข้อดีคือตั้งค่าง่ายและประสิทธิภาพสูง ข้อเสียคือทุกฝ่ายที่ต้องตรวจสอบ signature จะต้องรู้ secret key ซึ่งหากรั่วจะส่งผลกระทบทั้งระบบ
เมื่อไรใช้ RSA (RS256/RS384/RS512)
RSA เหมาะสำหรับสถานการณ์ที่ ฝั่งรับไม่สามารถเชื่อถือฝั่งสร้างด้วยการแชร์ secret key ได้ เช่น:
- ระบบ SSO ที่มีหลาย identity provider
- OAuth 2.0 / OpenID Connect flows
- บริการของบุคคลที่สามที่ต้องตรวจสอบ token ที่คุณออกให้
- สถาปัตยกรรมที่ฝั่งรับต้องตรวจสอบ token โดยไม่สามารถสร้าง token เองได้
ข้อดีคือฝั่งรับใช้เพียง public key ในการตรวจสอบ signature จึงไม่สามารถปลอมแปลง token ได้แม้จะถูกโจมตี ข้อเสียคือการจัดการ key pair ซับซ้อนกว่าและ token มีขนาดใหญ่กว่า
กรณีการใช้งานทั่วไป
JWT ได้กลายเป็นเทคโนโลยีพื้นฐานที่อยู่เบื้องหลังระบบ authentication สมัยใหม่หลายรูปแบบ:
- API Authentication — ส่ง JWT ใน Authorization: Bearer header เพื่อพิสูจน์ตัวตนในทุก API request โดยไม่ต้องส่งรหัสผ่านซ้ำ
- Single Sign-On (SSO) และ OAuth 2.0 — identity provider ออก JWT ให้หลัง login หนึ่งครั้ง จากนั้นแอปพลิเคชันอื่น ๆ ใช้ token เดียวกันเข้าถึงได้โดยไม่ต้อง login ใหม่
- Microservices Authentication — API gateway ตรวจสอบ JWT หนึ่งครั้ง จากนั้นส่งผ่านไปยัง microservices ด้านใน ซึ่งแต่ละ service สามารถอ่าน claims เพื่อตัดสินใจเรื่องสิทธิ์ได้ทันที
- ทดสอบ Token หมดอายุ — สร้าง JWT ที่มี exp ในอดีตเพื่อทดสอบว่าระบบจัดการ token หมดอายุอย่างถูกต้องหรือไม่
- CI/CD Test Fixtures — สร้าง JWT ล่วงหน้าเพื่อใช้เป็น test data ใน automated tests หรือ integration tests โดยไม่ต้องสร้าง token ใหม่ทุกครั้งที่รัน
- การแลกเปลี่ยนข้อมูลที่ต้องยืนยัน — ส่งข้อมูลระหว่างระบบด้วย JWT เพื่อให้ฝั่งรับสามารถยืนยันได้ว่าข้อมูลมาจากแหล่งที่เชื่อถือได้และไม่ถูกดัดแปลง
แนวทางความปลอดภัย (Security Best Practices)
JWT มีพลังมาก แต่ก็มาพร้อมกับความรับผิดชอบด้านความปลอดภัย หากใช้ผิดวิธีอาจนำไปสู่ช่องโหว่ร้ายแรงได้ ปฏิบัติตามแนวทางเหล่านี้เพื่อรักษาความปลอดภัยของระบบ:
- ห้าม hardcode secret key ใน frontend — secret key สำหรับ HMAC ต้องเก็บไว้ฝั่งเซิร์ฟเวอร์เท่านั้น การฝังใน client-side code (JavaScript) ทำให้ใครก็เข้าถึงและปลอมแปลง token ได้
- ใช้ expiry สั้น — ตั้งค่า exp ให้ access token หมดอายุใน 15 นาทีถึง 1 ชั่วโมง หาก token รั่ว ผู้โจมตีจะมีเวลาใช้งานจำกัด ใช้ refresh token สำหรับการต่ออายุเซสชัน
- ตรวจสอบ signature ที่ฝั่ง server เสมอ — ห้ามเชื่อถือ claims ใน JWT โดยไม่ตรวจสอบ signature ก่อน ผู้โจมตีสามารถสร้าง payload ปลอมได้ง่ายเพราะ base64url เป็นรูปแบบที่ถอดรหัสได้
- หลีกเลี่ยงการเก็บ JWT ใน localStorage — localStorage เข้าถึงได้จาก JavaScript ทำให้เสี่ยงต่อ XSS attack เก็บ token ใน HttpOnly, Secure, SameSite cookie แทน
- ใช้ HTTPS เสมอ — การส่ง JWT ผ่าน HTTP ธรรมดาทำให้ token ถูกดักจับได้ (man-in-the-middle attack) บังคับใช้ HTTPS ทุก endpoint
- เปลี่ยน secret key เป็นระยะ (key rotation) — เปลี่ยน secret key หรือ private key ทุก ๆ 90 วัน หรือทุกครั้งที่มีเหตุการณ์รักษาความปลอดภัย ออกแบบระบบให้รองรับ key หลายค่าพร้อมกันเพื่อการเปลี่ยนผ่านที่ราบรื่น
- ตรวจสอบ alg header อย่างเข้มงวด — ผู้โจมตีอาจเปลี่ยน alg เป็น none เพื่อข้ามการตรวจสอบ signature ฝั่งเซิร์ฟเวอร์ต้องยอมรับเฉพาะ algorithm ที่คาดหวางเท่านั้น
- validate claims ทุกครั้ง — นอกจากตรวจสอบ signature แล้ว ฝั่งเซิร์ฟเวอร์ควรตรวจสอบ exp, nbf, iss, และ aud ด้วย เพื่อให้แน่ใจว่า token ยังไม่หมดอายุ, อยู่ในช่วงเวลาที่ใช้งานได้, และออกโดยผู้ออกที่คาดหวางสำหรับผู้รับที่ถูกต้อง
ตัวอย่างการตรวจสอบ JWT ฝั่งเซิร์ฟเวอร์ (Node.js)
import jwt from 'jsonwebtoken';
function verifyToken(token, secret) {
try {
const decoded = jwt.verify(token, secret, {
algorithms: ['HS256'], // ระบุ algorithm ที่คาดหวางเท่านั้น
issuer: 'https://auth.example.com',
audience: 'api.onlinetoolsforge.com',
});
return decoded;
} catch (err) {
// token หมดอายุ, signature ไม่ถูกต้อง, หรือ claims ไม่ตรง
throw new Error('Invalid token: ' + err.message);
}
}
เริ่มสร้าง JWT ได้วันนี้
ไม่ว่าคุณจะกำลังสร้าง API ใหม่, เชื่อมต่อกับ OAuth provider, ทดสอบ authentication flow หรือเพียงแค่ต้องการเข้าใจว่า JWT ทำงานอย่างไร JWT Generator พร้อมช่วยให้คุณทำงานได้รวดเร็วและถูกต้อง ด้วยการประมวลผลฝั่งไคลเอนต์ 100% คุณมั่นใจได้ว่า secret key และข้อมูลของคุณไม่มีทางหลุดไปยังเซิร์ฟเวอร์ใด ๆ ลองใช้งาน JWT Generator ได้ฟรีทันที ไม่ต้องสมัครสมาชิกหรือติดตั้งอะไรเพิ่มเติม
เครื่องมือที่เกี่ยวข้อง:
- JWT Decoder — ถอดรหัสและตรวจสอบ JSON Web Token เพื่อดู header, payload และ claims ที่ซ่อนอยู่ภายใน
- HMAC Generator — สร้างลายเซ็น HMAC สำหรับยืนยันตัวตนข้อความและ API เข้าใจกลไกเดียวกับที่ JWT HS256 ใช้ในการลงชื่อ
- Base64 Tool — เข้ารหัสและถอดรหัสข้อมูลในรูปแบบ Base64 รวมถึง base64url ที่ JWT ใช้ในการเข้ารหัสแต่ละส่วน
ขอให้สนุกกับการสร้าง token!