ตัวถอดรหัส JWT
ถอดรหัส JSON Web Token ได้ในเบราว์เซอร์ ดู header และ payload แสดง exp, iat และ nbf เป็นวันเวลาจริงตามเขตเวลาของคุณ พร้อมบอกว่าหมดอายุหรือยัง
สรุป
ส่วนหัว (Header)
Payload (เคลม)
โทเค็นและลายเซ็น
อ่าน JWT ได้โดยไม่ต้องส่งไปที่ไหน
วาง JSON Web Token แล้วตัวถอดรหัสจะแยกเป็นสามส่วน ได้แก่ ส่วนหัว (ใช้อัลกอริทึมใดเซ็น) payload (เคลม: ผู้ใช้คือใคร เข้าถึงอะไรได้ และโทเค็นหมดอายุเมื่อไร) และลายเซ็น JSON จะถูกจัดรูปแบบให้อ่านได้ในพริบตา
เคลมเวลาจะถูกแปลงเป็นวันเวลาจริง exp, iat และ nbf แสดงตามเขตเวลาของคุณ ตาม UTC และในรูป “อีก 20 นาที” หรือ “3 วันที่แล้ว” ส่วนสถานะจะบอกทันทีว่าโทเค็นยังใช้ได้ หมดอายุแล้ว หรือยังไม่มีผล
โทเค็นมักให้สิทธิ์เข้าถึงบัญชีจริง การถอดรหัสทั้งหมดจึงทำในเบราว์เซอร์ของคุณ โทเค็นจะไม่ถูกอัปโหลดไปยังเซิร์ฟเวอร์ของเรา ไม่ถูกบันทึกหรือเก็บไว้ ปลอดภัยกว่าการวางลงในแชตบอตหรือเว็บที่ส่งไปยังเซิร์ฟเวอร์
วิธีถอดรหัส JWT
- คัดลอกโทเค็นจากแอปของคุณ ส่วนหัว
Authorizationคุกกี้ หรือเครื่องมือสำหรับนักพัฒนาในเบราว์เซอร์ - วางลงในช่อง คำนำหน้า
Bearerเครื่องหมายคำพูด ช่องว่าง และการขึ้นบรรทัดใหม่จะถูกลบให้อัตโนมัติ - อ่านสรุป: สถานะ อัลกอริทึม ผู้ออก ผู้ที่เกี่ยวข้อง ผู้รับ และเวลาออกและหมดอายุที่แน่นอน
- ใช้ปุ่มคัดลอกเพื่อนำ JSON ของส่วนหัวหรือ payload ที่จัดรูปแบบแล้วไปใส่ในรายงานบั๊กหรือโน้ตของคุณ
ความหมายของเคลมที่พบบ่อย
exp(expiration time): หลังเวลานี้ต้องปฏิเสธโทเค็นiat(issued at): เวลาที่สร้างโทเค็นnbf(not before): ห้ามยอมรับโทเค็นก่อนเวลานี้iss(issuer): ผู้สร้างโทเค็น มักเป็น URL ของเซิร์ฟเวอร์ล็อกอินsub(subject): โทเค็นนี้เป็นของใคร มักเป็น ID ผู้ใช้aud(audience): แอปหรือ API ที่โทเค็นนี้มีไว้ใช้algและkid(ในส่วนหัว): อัลกอริทึมการเซ็น เช่น HS256 หรือ RS256 และ ID ของคีย์ที่ใช้เซ็น
วันที่ใน JWT เป็นค่า NumericDate คือจำนวนวินาทีนับจาก 1 มกราคม 1970 UTC ตัวถอดรหัสแปลงให้คุณ จึงไม่ต้องใช้ตัวแปลง timestamp แยก
เคล็ดลับการดีบัก
- ถ้า API ตอบ 401 ทันทีหลังล็อกอิน ให้ตรวจ
expและnbfก่อน นาฬิกาเซิร์ฟเวอร์ที่เร็วหรือช้าไปไม่กี่นาทีเป็นสาเหตุที่พบบ่อย ไลบรารีส่วนใหญ่ยอมให้คลาดเคลื่อนได้เล็กน้อย - วันที่ที่อยู่ไกลไปอีกหลายหมื่นปีแปลว่าค่านั้นเขียนเป็นมิลลิวินาทีแทนวินาที ตัวถอดรหัสจะเตือนเมื่อเกิดกรณีนี้
- เทียบ
audและissกับค่าที่ API ของคุณคาดไว้ โทเค็นที่ออกให้แอปหรือสภาพแวดล้อมอื่น (staging แทน production) เป็นสาเหตุที่พบบ่อยของข้อผิดพลาด “โทเค็นไม่ถูกต้อง” - ส่วนหัวที่มี
algเป็นnoneแปลว่าโทเค็นไม่มีลายเซ็น อย่ายอมรับโทเค็นแบบนี้ในระบบจริงเด็ดขาด
ข้อจำกัดและสิ่งที่ควรรู้
- การถอดรหัสไม่ใช่การยืนยัน ใครก็สร้างโทเค็นที่มีเคลมอะไรก็ได้ มีเพียงการตรวจลายเซ็นด้วยคีย์ที่ถูกต้องบนเซิร์ฟเวอร์ของคุณเท่านั้นที่พิสูจน์ว่าเป็นของจริง เครื่องมือนี้ไม่ตรวจลายเซ็น
- Payload ของ JWT ทั่วไปแค่เข้ารหัสรูปแบบ (encode) ไม่ได้เข้ารหัสลับ ใครที่มีโทเค็นก็อ่านได้ จึงไม่ควรใส่รหัสผ่านหรือข้อมูลลับไว้ในเคลม
- โทเค็นที่เข้ารหัสลับ (JWE, 5 ส่วน) อ่านไม่ได้หากไม่มีคีย์ จึงแสดงเฉพาะส่วนหัว
- ตัวเลขแสดงตามที่อยู่ในโทเค็นทุกประการ ID ตัวเลขยาว ๆ จึงไม่ถูกปัดเศษ
คำถามที่พบบ่อย
วางโทเค็นจริงที่นี่ปลอดภัยไหม
ปลอดภัย การถอดรหัสทำด้วย JavaScript ในเบราว์เซอร์ของคุณ และโทเค็นไม่ถูกส่งไปยังเซิร์ฟเวอร์ของเรา อย่างไรก็ตาม ควรดูแลโทเค็นที่ยังใช้งานอยู่เหมือนรหัสผ่าน อย่าแชร์ในภาพหน้าจอหรือแชต และปล่อยให้หมดอายุไป
เครื่องมือนี้บอกได้ไหมว่าโทเค็นใช้ได้หรือไม่
บอกได้ว่าโทเค็นหมดอายุแล้วหรือยังไม่มีผล โดยดูจากวันที่ แต่บอกไม่ได้ว่าลายเซ็นเป็นของจริงหรือไม่ เพราะต้องใช้คีย์ลับหรือคีย์สาธารณะที่ควรมีเฉพาะบนเซิร์ฟเวอร์ของคุณ
ทำไมโทเค็นที่เพิ่งได้มาจึงขึ้นว่าหมดอายุ
ตรวจนาฬิกาของเซิร์ฟเวอร์ที่ออกโทเค็น และตรวจว่า exp เป็นวินาที ไม่ใช่มิลลิวินาที ถ้า iat ก็ย้อนไปหลายชั่วโมงด้วย นาฬิกาเซิร์ฟเวอร์น่าจะไม่ตรง
ตัวถอดรหัส JWT ต่างจากตัวถอดรหัส Base64 อย่างไร
JWT คือข้อมูลสามส่วนที่เข้ารหัสแบบ Base64URL แล้วต่อกันด้วยจุด ตัวถอดรหัส Base64 อ่านได้ทีละส่วน แต่ตัวถอดรหัส JWT แยกโทเค็นให้เอง รองรับตัวอักษรแบบปลอดภัยสำหรับ URL และการไม่มีตัวเติม พร้อมแปลงวันที่เป็นเวลาที่อ่านง่าย
ใช้งานแบบออฟไลน์ได้ไหม
ได้ เมื่อโหลดหน้าเว็บแล้ว คุณตัดอินเทอร์เน็ตแล้วถอดรหัสโทเค็นต่อได้
เครื่องมือที่เกี่ยวข้อง
- ถอดรหัส Base64: ถอดรหัสสตริง Base64 กลับเป็นข้อความที่อ่านได้ทันที ตรวจ header ยืนยันตัวตน โทเค็น payload ของ API และเนื้อหาอีเมล เครื่องมือถอดรหัส Base64 ฟรี
- ตรวจสอบและจัดรูปแบบ JSON: ตรวจสอบและจัดรูปแบบ JSON ออนไลน์ หาข้อผิดพลาดทางไวยากรณ์ และเปลี่ยน JSON ที่ถูกย่อให้เป็นโค้ดที่อ่านง่ายพร้อมย่อหน้า ใช้ฟรี ไม่ต้องสมัคร
- ถอดรหัส URL: ถอดรหัส URL และ query string ที่ percent-encode กลับเป็นข้อความที่อ่านได้ แปลง %20, %26 และ %E0%B8... เป็นอักขระปกติทันที เครื่องมือ URL Decode ฟรี
- เข้ารหัส Base64: เข้ารหัสข้อความหรือสตริงเป็น Base64 ได้ทันที มีประโยชน์กับ data URI, header HTTP Basic auth, อีเมล และ API เครื่องมือเข้ารหัส Base64 ออนไลน์ฟรี
เครื่องมือที่คล้ายกัน
ถอดรหัสสตริง Base64 กลับเป็นข้อความที่อ่านได้ทันที ตรวจ header ยืนยันตัวตน โทเค็น payload ของ API และเนื้อหาอีเมล เครื่องมือถอดรหัส Base64 ฟรี
ตรวจสอบและจัดรูปแบบ JSON ออนไลน์ หาข้อผิดพลาดทางไวยากรณ์ และเปลี่ยน JSON ที่ถูกย่อให้เป็นโค้ดที่อ่านง่ายพร้อมย่อหน้า ใช้ฟรี ไม่ต้องสมัคร
ถอดรหัส URL และ query string ที่ percent-encode กลับเป็นข้อความที่อ่านได้ แปลง %20, %26 และ %E0%B8... เป็นอักขระปกติทันที เครื่องมือ URL Decode ฟรี
เครื่องมือฟรียอดนิยม
สร้างรหัสผ่านสุ่มที่แข็งแรงได้ในคลิกเดียว เลือกความยาว ใส่ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก ตัวเลข และสัญลักษณ์ได้ตามต้องการ ใช้ฟรี ไม่ต้องสมัครสมาชิก
แปลงข้อความเป็น UPPERCASE, lowercase, Sentence case, Capital Case, camelCase, PascalCase, snake_case, CONSTANT_CASE, dot.case หรือ param-case ฟรี
ดึงที่อยู่อีเมลทั้งหมดจากข้อความ HTML ไฟล์ log หรือเอกสารในคลิกเดียว ได้รายการที่สะอาดพร้อมจำนวน เครื่องมือดึงอีเมลออนไลน์ฟรี
ค้นหาเรคคอร์ด DNS ของโดเมนใดก็ได้: A, AAAA, CNAME, MX, NS, TXT และ SOA ตรวจการตั้งค่าอีเมล SPF การยืนยันโดเมน และเนมเซิร์ฟเวอร์ได้ฟรี
แปลงข้อความระหว่างตัวคั่นต่างๆ: ขึ้นบรรทัดใหม่ ช่องว่าง อัฒภาค ขีด ไปป์ หรือจุด เปลี่ยนคอลัมน์เป็นบรรทัดเดียวและกลับกัน เครื่องมือแยกข้อความฟรี
สร้างลิงก์ WhatsApp แบบคลิกเพื่อแชตด้วยเบอร์โทรและข้อความที่กรอกไว้ล่วงหน้า ใส่ในเว็บไซต์ ไบโอ โฆษณา หรือ QR code เครื่องมือสร้างลิงก์ wa.me ฟรี