JWT คืออะไร และทำงานอย่างไร?

โทเค็น JWT: เล็กกะทัดรัด ปลอดภัย URL ใช้ส่งข้อมูลระหว่างสองฝ่าย มักใช้ยืนยันความถูกต้องของข้อมูล

อาชว์

อาชว์

4 June 2025

JWT คืออะไร และทำงานอย่างไร?

JSON Web Tokens (JWTs) เป็นวิธีการแสดง claims ที่กะทัดรัดและปลอดภัยสำหรับ URL เพื่อถ่ายโอนระหว่างสองฝ่าย โดยทั่วไปแล้ว claims เหล่านี้จะใช้เพื่อรับรองความถูกต้องและความถูกต้องของข้อมูล

บทความนี้จะสำรวจวิธีการทำงานของ JWTs เราจะดูโครงสร้างของ JWT ซึ่งประกอบด้วยสามส่วนที่เข้ารหัสและลงนามแบบดิจิทัล จากนั้นเราจะพูดคุยถึงกรณีการใช้งานทั่วไปสำหรับ JWTs และตรวจสอบประโยชน์บางประการของการใช้งาน

โครงสร้างของ JWT (พร้อมตัวอย่าง)

JSON Web Token (JWT) ประกอบด้วยสามส่วนที่คั่นด้วยจุด: Header, Payload และ Signature โครงสร้างโดยรวมคือ:

xxxxxxxxxx.yyyyyyyyyy.zzzzzzzzzz

Payload:

Signature:

นำมารวมกันทั้งหมด:

Header: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
Payload: eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ
Signature: HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)

JWT ที่เข้ารหัส:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwia

ประโยชน์ของการใช้ JWT:

JWTs มีอ็อบเจกต์ JSON ที่เข้ารหัสและลงนาม เพื่อให้มั่นใจถึงความสมบูรณ์และความถูกต้องโดยไม่ต้องพึ่งพาเซสชันแบบมีสถานะบนเซิร์ฟเวอร์

ประโยชน์หลักบางประการที่ทำให้ JWTs มีประโยชน์คือ:

JWT เทียบกับ OAuth: ความแตกต่างระหว่าง JWT และ OAuth

JWT (JSON Web Token) และ OAuth มีความเกี่ยวข้องแต่มีวัตถุประสงค์ที่แตกต่างกันในบริบทของการตรวจสอบสิทธิ์และการอนุญาตในการพัฒนาเว็บ นี่คือการเปรียบเทียบสั้นๆ ของ JWT และ OAuth:

JWT (JSON Web Token):

  1. วัตถุประสงค์: JWT เป็นวิธีที่กะทัดรัดและมีอยู่ในตัวเพื่อส่งข้อมูลระหว่างฝ่ายต่างๆ อย่างปลอดภัย โดยทั่วไปจะใช้สำหรับการตรวจสอบสิทธิ์และการแลกเปลี่ยนข้อมูล
  2. เนื้อหา: JWT มี claims เกี่ยวกับเอนทิตี (โดยทั่วไปคือผู้ใช้) และมักใช้สำหรับการตรวจสอบสิทธิ์ผู้ใช้ claims สามารถรวมถึง ID ผู้ใช้ บทบาท สิทธิ์ และข้อมูลอื่นๆ ที่เกี่ยวข้อง JWTs มักใช้เพื่อสร้างระบบการตรวจสอบสิทธิ์แบบไม่มีสถานะ
  3. การใช้งาน: โดยปกติแล้ว JWTs จะถูกส่งเป็นส่วนหนึ่งของส่วนหัวคำขอในคำขอ HTTP ใช้เพื่อแสดงถึงตัวตนและสิทธิพิเศษของผู้ใช้

OAuth (Open Authorization):

  1. วัตถุประสงค์: OAuth เป็นกรอบการทำงานสำหรับการอนุญาต ทำให้แอปพลิเคชันของบุคคลที่สามสามารถเข้าถึงทรัพยากรของผู้ใช้บนเซิร์ฟเวอร์อื่นได้โดยไม่ต้องเปิดเผยข้อมูลประจำตัวของผู้ใช้ OAuth ไม่ได้ออกแบบมาสำหรับการตรวจสอบสิทธิ์ แต่สำหรับการมอบอำนาจ
  2. บทบาท: OAuth กำหนดบทบาท เช่น เจ้าของทรัพยากร ไคลเอนต์ เซิร์ฟเวอร์การอนุญาต และเซิร์ฟเวอร์ทรัพยากร ช่วยให้สถานการณ์ที่ผู้ใช้สามารถให้สิทธิ์เข้าถึงทรัพยากรของตน (เช่น รูปภาพ รายชื่อติดต่อ) ไปยังแอปพลิเคชันอื่นได้โดยไม่ต้องแชร์ข้อมูลประจำตัว
  3. ประเภทการให้สิทธิ์: OAuth แนะนำประเภทการให้สิทธิ์ (รหัสการอนุญาต, โดยนัย, ข้อมูลประจำตัวของไคลเอนต์, รหัสผ่าน ฯลฯ) เพื่อระบุวิธีการดำเนินการอนุญาต
  4. โทเค็น: OAuth เกี่ยวข้องกับการใช้โทเค็นการเข้าถึงและโทเค็นการรีเฟรช โทเค็นการเข้าถึงใช้เพื่อเข้าถึงทรัพยากรที่ได้รับการป้องกัน และโทเค็นการรีเฟรชสามารถใช้เพื่อรับโทเค็นการเข้าถึงใหม่ได้

ความแตกต่างที่สำคัญ:

JWT ทำงานอย่างไร

JSON Web Tokens (JWTs) มีบทบาทสำคัญในการตรวจสอบสิทธิ์โดยการจัดหาวิธีที่ปลอดภัยและมีประสิทธิภาพในการตรวจสอบตัวตนของผู้ใช้ โดยทั่วไปแล้วกระบวนการนี้เกี่ยวข้องกับขั้นตอนต่อไปนี้:

  1. การตรวจสอบสิทธิ์ผู้ใช้: ผู้ใช้ลงชื่อเข้าใช้โดยใช้ชื่อผู้ใช้และรหัสผ่านหรือผ่านผู้ให้บริการภายนอก เช่น Google หรือ Facebook เซิร์ฟเวอร์การตรวจสอบสิทธิ์จะตรวจสอบข้อมูลประจำตัวและออก JSON Web Token (JWT) ที่รับรองตัวตนของผู้ใช้
  2. การสร้าง JWT: ผู้ให้บริการข้อมูลประจำตัว (IdP) สร้าง JWT โดยลงนามด้วยเกลือลับหรือคีย์ส่วนตัว JWT นี้จะสรุปข้อมูลผู้ใช้ที่จำเป็น เช่น ID ผู้ใช้ บทบาท และเวลาหมดอายุ
  3. การใช้งาน JWT: ไคลเอนต์ของผู้ใช้จะจัดเก็บ JWT ที่ได้รับระหว่างการตรวจสอบสิทธิ์อย่างปลอดภัย เมื่อเข้าถึงทรัพยากรที่ได้รับการป้องกัน ไคลเอนต์จะรวม JWT ไว้ในส่วนหัวการอนุญาต HTTP
  4. การตรวจสอบโทเค็น: เซิร์ฟเวอร์ทรัพยากรจะถอดรหัสและตรวจสอบความถูกต้องของ JWT โดยใช้เกลือลับหรือคีย์สาธารณะที่ให้ไว้ กระบวนการนี้ช่วยให้มั่นใจถึงความสมบูรณ์และต้นกำเนิดของโทเค็น

JWT ใน Apidog

Apidog เป็นเครื่องมือพัฒนาและทดสอบ API ที่ใช้งานง่ายซึ่งมีความโดดเด่นในการจัดการ JSON Web Tokens (JWT) ด้วยอินเทอร์เฟซที่ใช้งานง่าย Apidog ทำให้กระบวนการจัดการ JWT ง่ายขึ้น โดยให้การสนับสนุนอัตโนมัติสำหรับการสร้างโทเค็น การจัดการแบบไดนามิก และการรวมเข้ากับคำขอ API ได้อย่างราบรื่น

JWT

เครื่องมือนี้ช่วยปรับปรุงด้านต่างๆ ที่เกี่ยวข้องกับ JWT ของการพัฒนา API ทำให้ผู้พัฒนามุ่งเน้นไปที่การทดสอบและการรวมเข้ากับเวิร์กโฟลว์ของตนอย่างมีประสิทธิภาพ

button

Explore more

สร้างทางเลือกสำหรับ Claude Web Search แบบ Open Source (พร้อมเซิร์ฟเวอร์ Firecrawl MCP)

สร้างทางเลือกสำหรับ Claude Web Search แบบ Open Source (พร้อมเซิร์ฟเวอร์ Firecrawl MCP)

สำหรับองค์กรที่ต้องการควบคุม, ปรับแต่ง, หรือความเป็นส่วนตัวมากกว่าการค้นหาเว็บของ Claude, การสร้างทางเลือกโดยใช้ Firecrawl เป็นทางออกที่ดี มาเรียนรู้กัน!

21 March 2025

10 อันดับทางเลือกที่ดีที่สุดสำหรับการเล่นวินเซิร์ฟสำหรับนักเขียนโค้ดที่ชอบความรู้สึกในปี 2025

10 อันดับทางเลือกที่ดีที่สุดสำหรับการเล่นวินเซิร์ฟสำหรับนักเขียนโค้ดที่ชอบความรู้สึกในปี 2025

ค้นพบ 10 ทางเลือก Windsurf ปี 2025 ปรับปรุงการเขียนโค้ด เหมาะสำหรับนักพัฒนาที่ต้องการโซลูชันการเขียนโค้ดที่มีประสิทธิภาพ ปลอดภัย และหลากหลาย

20 March 2025

Figma มีเซิร์ฟเวอร์ MCP แล้ว และนี่คือวิธีใช้งาน

Figma มีเซิร์ฟเวอร์ MCP แล้ว และนี่คือวิธีใช้งาน

ค้นพบวิธีเชื่อมต่อ Figma MCP กับ AI เช่น Cursor เพื่อสร้างโค้ดอัตโนมัติ เหมาะสำหรับนักพัฒนาและนักออกแบบ

20 March 2025

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API