วิธีทดสอบ JWT Authentication ใน API

INEZA Felin-Michel

INEZA Felin-Michel

17 December 2025

วิธีทดสอบ JWT Authentication ใน API

คุณเพิ่งนำการยืนยันตัวตนด้วย JWT (JSON Web Token) มาใช้ใน API ของคุณ มันดูเรียบง่าย ไร้สถานะ และปลอดภัย แต่ตอนนี้มาถึงส่วนสำคัญ: การทดสอบอย่างละเอียด คุณจะตรวจสอบได้อย่างไรว่าปลายทางที่ได้รับการป้องกันปฏิเสธคำขอที่ไม่มีโทเค็นอย่างถูกต้อง? คุณจะทดสอบการหมดอายุของโทเค็นได้อย่างไร? คุณจะจำลองบทบาทผู้ใช้ที่แตกต่างกันได้อย่างไร?

หากคุณกำลังใช้คำสั่ง curl หรือเขียนสคริปต์แบบใช้ครั้งเดียว คุณกำลังจะค้นพบวิธีที่ดีกว่ามาก Apidog เปลี่ยนการทดสอบ JWT จากงานที่น่าเบื่อให้กลายเป็นเวิร์กโฟลว์ที่มีประสิทธิภาพและคล่องตัว

ปุ่ม

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

ตอนนี้ เรามาดูกันว่าคุณจะเชี่ยวชาญการทดสอบการยืนยันตัวตน JWT ด้วย Apidog ได้อย่างไร และสำรวจวิธีการยืนยันตัวตนที่หลากหลายที่ Apidog รองรับ

เหตุใดการทดสอบ JWT จึงสำคัญ

การยืนยันตัวตนด้วย JWT ได้กลายเป็นมาตรฐานในการรักษาความปลอดภัย API ที่ทันสมัย แต่ด้วยพลังของมันมาพร้อมกับความซับซ้อนที่ต้องมีการทดสอบอย่างเข้มงวด:

การทดสอบสถานการณ์เหล่านี้ด้วยตนเองด้วยเครื่องมือบรรทัดคำสั่งหรือปลั๊กอินเบราว์เซอร์นั้นน่าเบื่อและมีแนวโน้มที่จะเกิดข้อผิดพลาด Apidog นำเสนอแนวทางแบบรวมศูนย์ เห็นภาพ และอัตโนมัติเพื่อจัดการทั้งหมดนี้

เริ่มต้น: การตั้งค่าการยืนยันตัวตน JWT ของคุณใน Apidog

ภาพหน้าจอของ Apidog พร้อมการตั้งค่าการยืนยันตัวตน JWT

Apidog ทำให้การกำหนดค่าการยืนยันตัวตน JWT เป็นไปอย่างง่ายดาย เรามาดูรายละเอียดทีละขั้นตอนกัน

ขั้นตอนที่ 1: สร้างคำขอการยืนยันตัวตนของคุณ

ก่อนอื่น คุณต้องได้รับโทเค็น JWT จากปลายทางการยืนยันตัวตนของคุณ (เช่น POST /api/auth/login)

ใน Apidog ให้สร้างคำขอ POST ใหม่

ตั้งค่า URL ไปยังปลายทางเข้าสู่ระบบของคุณ

ในแท็บ Body ให้เพิ่มข้อมูลรับรองที่จำเป็น (โดยทั่วไปจะเป็น JSON เช่น {"username": "test", "password": "test"})

ส่งคำขอ คุณควรได้รับการตอบกลับ 200 OK พร้อมโทเค็นในส่วนเนื้อหา ซึ่งมักจะมีลักษณะดังนี้:

{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "token_type": "bearer",
  "expires_in": 3600
}

ขั้นตอนที่ 2: ดึงและจัดเก็บโทเค็น

นี่คือจุดที่ Apidog โดดเด่น แทนที่จะคัดลอกโทเค็นด้วยตนเองสำหรับทุกคำขอ คุณสามารถทำให้เป็นอัตโนมัติได้

ในแท็บ Tests ของคำขอเข้าสู่ระบบของคุณ ให้เพิ่มสคริปต์เพื่อดึงโทเค็นจากการตอบกลับและบันทึกเป็น ตัวแปรสภาพแวดล้อม

// ตัวอย่างสคริปต์ทดสอบ Apidog
const responseJson = pm.response.json();
// ดึง access_token จากการตอบกลับ
const accessToken = responseJson.access_token;
// จัดเก็บไว้ในตัวแปรสภาพแวดล้อมชื่อ 'jwt_token'
pm.environment.set("jwt_token", accessToken);

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

ขั้นตอนที่ 3: กำหนดค่า JWT Bearer Auth สำหรับปลายทางที่ได้รับการป้องกัน

ตอนนี้ สำหรับปลายทางใดๆ ที่ต้องมีการยืนยันตัวตน JWT (เช่น GET /api/users/me):

  1. สร้างคำขอใหม่ไปยังปลายทางที่ได้รับการป้องกันของคุณ
  2. ไปที่แท็บ Auth
  3. จากเมนูแบบเลื่อนลง Type ให้เลือก "JWT Bearer"

นี่คือหัวใจของการตั้งค่า ประเภทการยืนยันตัวตน JWT Bearer ของ Apidog ได้รับการออกแบบมาโดยเฉพาะสำหรับมาตรฐานนี้

  1. ในฟิลด์ Token ตอนนี้คุณสามารถอ้างอิงตัวแปรสภาพแวดล้อมที่บันทึกไว้ของคุณโดยใช้เครื่องหมายวงเล็บปีกกาคู่: {{jwt_token}}
  2. ฟิลด์ Prefix มักจะเป็น Bearer (ซึ่งเป็นมาตรฐานและ Apidog ใช้โดยอัตโนมัติสำหรับประเภทการยืนยันตัวตนนี้)

เกิดอะไรขึ้นเบื้องหลัง? เมื่อคุณส่งคำขอนี้ Apidog จะจัดรูปแบบส่วนหัว Authorization ให้คุณโดยอัตโนมัติ:

Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

ไม่ต้องแก้ไขส่วนหัวด้วยตนเอง!

เวิร์กโฟลว์การทดสอบ JWT ขั้นสูงด้วย Apidog

1. การทดสอบการหมดอายุและการต่ออายุโทเค็น

การทดสอบที่แข็งแกร่งควรตรวจสอบว่า API ของคุณจัดการกับโทเค็นที่หมดอายุอย่างไร

  1. ขอปลายทางที่ได้รับการป้องกันด้วยโทเค็นที่หมดอายุ (คาดว่าจะได้รับ 401)
  2. เรียกปลายทางรีเฟรชด้วยโทเค็นรีเฟรชเพื่อรับ access_token ใหม่
  3. อัปเดตตัวแปรสภาพแวดล้อม jwt_token ด้วยโทเค็นใหม่โดยอัตโนมัติ
  4. ลองอีกครั้งปลายทางที่ได้รับการป้องกันเดิม (ตอนนี้คาดว่าจะได้รับ 200 OK)

2. การทดสอบการควบคุมการเข้าถึงตามบทบาท (RBAC)

ทดสอบว่าผู้ใช้ที่มีการอ้างสิทธิ์ "role": "user" ไม่สามารถเข้าถึงปลายทางของผู้ดูแลระบบได้

  1. สร้างตัวแปรสภาพแวดล้อมแยกต่างหากสำหรับโทเค็นผู้ใช้ที่แตกต่างกัน: {{admin_jwt_token}} และ {{user_jwt_token}}
  2. สำหรับปลายทางสำหรับผู้ดูแลระบบเท่านั้น (เช่น DELETE /api/users/123) ให้สร้างสองกรณีทดสอบใน Apidog:

3. คุณสามารถเรียกใช้สิ่งเหล่านี้เป็นส่วนหนึ่งของชุดทดสอบอัตโนมัติเพื่อให้แน่ใจว่าตรรกะ RBAC ของคุณจะถูกบังคับใช้เสมอ

3. การทดสอบโทเค็นที่ผิดรูปแบบหรือไม่ถูกต้อง

Apidog ทำให้ง่ายต่อการทดสอบกรณีขอบเขต:

นอกเหนือจาก JWT: การยืนยันตัวตนทั้งหมดใน Apidog

ในขณะที่ JWT Bearer เป็นที่นิยมอย่างมาก API สมัยใหม่ใช้วิธีการยืนยันตัวตนที่หลากหลาย ความแข็งแกร่งของ Apidog คือการสนับสนุนที่ครอบคลุมสำหรับ ทั้งหมด ในอินเทอร์เฟซเดียว

1. การยืนยันตัวตนด้วย API Key

วิธีที่ง่ายที่สุดและเป็นที่นิยมที่สุดสำหรับการสื่อสารแบบเครื่องต่อเครื่อง

2. การยืนยันตัวตนแบบ Basic Authentication

การแจ้งชื่อผู้ใช้และรหัสผ่านแบบคลาสสิก มักใช้สำหรับระบบเดิมหรือปลายทางการเข้าสู่ระบบเริ่มต้น

3. OAuth 2.0

มาตรฐานอุตสาหกรรมสำหรับการมอบสิทธิ์และการอนุญาตผู้ใช้ นี่คือจุดที่ Apidog มีประสิทธิภาพอย่างยิ่ง

4. การยืนยันตัวตนแบบ Hawk

รูปแบบที่พบน้อยกว่าแต่ปลอดภัยโดยใช้รหัสการยืนยันข้อความ

5. ลายเซ็น AWS

สิ่งสำคัญสำหรับการทดสอบ API ที่โฮสต์บน Amazon Web Services

6. การยืนยันตัวตนแบบ Digest Authentication

โปรโตคอลการท้าทาย-ตอบสนองที่ปลอดภัยกว่า Basic Auth

แนวทางแบบครบวงจรนี้หมายความว่าคุณสามารถทดสอบปลายทางทั้งหมดของ API ของคุณได้ ไม่ว่าจะใช้วิธีการยืนยันตัวตนใด ภายในโปรเจกต์และอินเทอร์เฟซเดียวกัน

การสร้างชุดทดสอบและเอกสารประกอบที่แข็งแกร่ง

เมื่อคุณกำหนดค่าการยืนยันตัวตนและทดสอบปลายทางของคุณด้วยตนเองแล้ว Apidog จะช่วยให้คุณปรับขนาดเป็นเวิร์กโฟลว์ระดับมืออาชีพได้

1. สร้าง Test Collections

จัดกลุ่มคำขอทั้งหมดสำหรับคุณสมบัติเฉพาะ (เช่น "การจัดการผู้ใช้") ไว้ในคอลเล็กชัน คุณสามารถเรียกใช้คอลเล็กชันทั้งหมดได้ด้วยการคลิกเพียงครั้งเดียว เพื่อให้มั่นใจว่าปลายทางที่ได้รับการป้องกันด้วย JWT ทั้งหมดทำงานร่วมกันได้อย่างถูกต้อง

2. กำหนดพารามิเตอร์ด้วย Environments

ใช้สภาพแวดล้อม Apidog ที่แตกต่างกัน (เช่น "Development," "Staging," "Production") เพื่อจัดเก็บชุดตัวแปรที่แตกต่างกัน {{jwt_token}} ของคุณในสภาพแวดล้อม "Development" สามารถชี้ไปที่เซิร์ฟเวอร์ในเครื่องของคุณ ในขณะที่ใน "Production" จะใช้ข้อมูลรับรองจริง (แต่สำหรับการทดสอบ) เปลี่ยนบริบทได้ทันที

3. สร้างและแบ่งปันเอกสารประกอบ

Apidog สร้างเอกสารประกอบ API ที่สวยงามและโต้ตอบได้โดยอัตโนมัติจากคำขอของคุณ เอกสารนี้จะแสดงให้เห็นอย่างชัดเจนว่าปลายทางใดต้องใช้ JWT Bearer auth ทำให้ชัดเจนสำหรับนักพัฒนาส่วนหน้าหรือนักพัฒนาโมบายล์ของคุณทันที

บทสรุป: จากความน่าเบื่อสู่การเปลี่ยนแปลง

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

การสนับสนุนขยายไปไกลกว่า JWT เพื่อครอบคลุมมาตรฐานการยืนยันตัวตน API สมัยใหม่ทั้งหมด ไม่ว่าจะเป็น API Key, Basic, OAuth 2.0 และอื่นๆ ทั้งหมดนี้อยู่ในอินเทอร์เฟซที่ใช้งานง่ายเดียวกัน

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

ปุ่ม

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

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

วิธีทดสอบ JWT Authentication ใน API