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

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):
- สร้างคำขอใหม่ไปยังปลายทางที่ได้รับการป้องกันของคุณ
- ไปที่แท็บ Auth
- จากเมนูแบบเลื่อนลง Type ให้เลือก "JWT Bearer"
นี่คือหัวใจของการตั้งค่า ประเภทการยืนยันตัวตน JWT Bearer ของ Apidog ได้รับการออกแบบมาโดยเฉพาะสำหรับมาตรฐานนี้
- ในฟิลด์ Token ตอนนี้คุณสามารถอ้างอิงตัวแปรสภาพแวดล้อมที่บันทึกไว้ของคุณโดยใช้เครื่องหมายวงเล็บปีกกาคู่:
{{jwt_token}} - ฟิลด์ Prefix มักจะเป็น
Bearer(ซึ่งเป็นมาตรฐานและ Apidog ใช้โดยอัตโนมัติสำหรับประเภทการยืนยันตัวตนนี้)
เกิดอะไรขึ้นเบื้องหลัง? เมื่อคุณส่งคำขอนี้ Apidog จะจัดรูปแบบส่วนหัว Authorization ให้คุณโดยอัตโนมัติ:
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
ไม่ต้องแก้ไขส่วนหัวด้วยตนเอง!
เวิร์กโฟลว์การทดสอบ JWT ขั้นสูงด้วย Apidog
1. การทดสอบการหมดอายุและการต่ออายุโทเค็น
การทดสอบที่แข็งแกร่งควรตรวจสอบว่า API ของคุณจัดการกับโทเค็นที่หมดอายุอย่างไร
- จำลองการหมดอายุ: คุณสามารถเปลี่ยนตัวแปรสภาพแวดล้อม
jwt_tokenด้วยตนเองให้เป็นสตริงโทเค็นที่หมดอายุ และเรียกใช้คำขอปลายทางที่ได้รับการป้องกันของคุณอีกครั้ง ควรส่งคืน401 Unauthorized - ทำให้ขั้นตอนการรีเฟรชเป็นอัตโนมัติ: หาก API ของคุณมีปลายทางการรีเฟรชโทเค็น (
POST /api/auth/refresh) คุณสามารถสร้างลำดับการทดสอบใน Apidog ได้:
- ขอปลายทางที่ได้รับการป้องกันด้วยโทเค็นที่หมดอายุ (คาดว่าจะได้รับ
401) - เรียกปลายทางรีเฟรชด้วยโทเค็นรีเฟรชเพื่อรับ
access_tokenใหม่ - อัปเดตตัวแปรสภาพแวดล้อม
jwt_tokenด้วยโทเค็นใหม่โดยอัตโนมัติ - ลองอีกครั้งปลายทางที่ได้รับการป้องกันเดิม (ตอนนี้คาดว่าจะได้รับ
200 OK)
2. การทดสอบการควบคุมการเข้าถึงตามบทบาท (RBAC)
ทดสอบว่าผู้ใช้ที่มีการอ้างสิทธิ์ "role": "user" ไม่สามารถเข้าถึงปลายทางของผู้ดูแลระบบได้
- สร้างตัวแปรสภาพแวดล้อมแยกต่างหากสำหรับโทเค็นผู้ใช้ที่แตกต่างกัน:
{{admin_jwt_token}}และ{{user_jwt_token}} - สำหรับปลายทางสำหรับผู้ดูแลระบบเท่านั้น (เช่น
DELETE /api/users/123) ให้สร้างสองกรณีทดสอบใน Apidog:
- กรณีทดสอบ A: ใช้
{{admin_jwt_token}}คาดหวัง:200 OKหรือ204 No Content - กรณีทดสอบ B: ใช้
{{user_jwt_token}}คาดหวัง:403 Forbidden
3. คุณสามารถเรียกใช้สิ่งเหล่านี้เป็นส่วนหนึ่งของชุดทดสอบอัตโนมัติเพื่อให้แน่ใจว่าตรรกะ RBAC ของคุณจะถูกบังคับใช้เสมอ
3. การทดสอบโทเค็นที่ผิดรูปแบบหรือไม่ถูกต้อง
Apidog ทำให้ง่ายต่อการทดสอบกรณีขอบเขต:
- ไม่มีโทเค็น: เพียงแค่ปิดใช้งานหรือลบการกำหนดค่าการยืนยันตัวตนสำหรับคำขอแล้วส่งไป ตรวจสอบว่าคุณได้รับ
401 - โทเค็นที่ผิดรูปแบบ: ตั้งค่าตัวแปร
jwt_tokenเป็นสตริงสุ่ม เช่น"invalid"แล้วส่งคำขอ ควรส่องคืน401 - ลายเซ็นที่ถูกเปลี่ยนแปลง: คุณสามารถใช้เครื่องมือออนไลน์เพื่อถอดรหัส JWT ที่ถูกต้อง เปลี่ยนการอ้างสิทธิ์ และเข้ารหัสใหม่ด้วยลายเซ็นที่ไม่ถูกต้อง บันทึกโทเค็นที่ถูกเปลี่ยนแปลงนี้ไปยังสภาพแวดล้อมของคุณและทดสอบด้วย
นอกเหนือจาก JWT: การยืนยันตัวตนทั้งหมดใน Apidog

ในขณะที่ JWT Bearer เป็นที่นิยมอย่างมาก API สมัยใหม่ใช้วิธีการยืนยันตัวตนที่หลากหลาย ความแข็งแกร่งของ Apidog คือการสนับสนุนที่ครอบคลุมสำหรับ ทั้งหมด ในอินเทอร์เฟซเดียว
1. การยืนยันตัวตนด้วย API Key
วิธีที่ง่ายที่สุดและเป็นที่นิยมที่สุดสำหรับการสื่อสารแบบเครื่องต่อเครื่อง
- ใน Apidog: เลือก "API Key" จากเมนูแบบเลื่อนลงประเภท Auth
- การกำหนดค่า: เลือกว่าคีย์จะอยู่ในส่วนหัว (เช่น
X-API-Key) หรือพารามิเตอร์การสอบถาม ป้อนค่าคีย์ของคุณ ซึ่งสามารถอ้างอิงตัวแปรสภาพแวดล้อม{{api_key}}ได้เช่นกัน
2. การยืนยันตัวตนแบบ Basic Authentication
การแจ้งชื่อผู้ใช้และรหัสผ่านแบบคลาสสิก มักใช้สำหรับระบบเดิมหรือปลายทางการเข้าสู่ระบบเริ่มต้น
- ใน Apidog: เลือก "Basic Auth"
- การกำหนดค่า: ป้อนชื่อผู้ใช้และรหัสผ่าน Apidog จะเข้ารหัสโดยอัตโนมัติใน base64 และเพิ่มส่วนหัว
Authorization: Basic ...
3. OAuth 2.0
มาตรฐานอุตสาหกรรมสำหรับการมอบสิทธิ์และการอนุญาตผู้ใช้ นี่คือจุดที่ Apidog มีประสิทธิภาพอย่างยิ่ง
- ใน Apidog: เลือก "OAuth 2.0"
- โฟลว์ที่รองรับ: มันจะแนะนำคุณตลอดการกำหนดค่าโฟลว์รหัสการอนุญาต (ที่นิยมที่สุดสำหรับเว็บแอป), โฟลว์ข้อมูลรับรองไคลเอ็นต์ (สำหรับเครื่องต่อเครื่อง) และอื่นๆ
- การจัดการโทเค็นอัตโนมัติ: Apidog สามารถจัดการขั้นตอน OAuth ทั้งหมด โดยเปลี่ยนเส้นทางไปยังเซิร์ฟเวอร์การอนุญาต การจับรหัสการอนุญาต และการแลกเปลี่ยนเป็นโทเค็นการเข้าถึง จากนั้นจะแนบโทเค็นไปยังคำขอถัดไปโดยอัตโนมัติในฐานะโทเค็น Bearer
4. การยืนยันตัวตนแบบ Hawk
รูปแบบที่พบน้อยกว่าแต่ปลอดภัยโดยใช้รหัสการยืนยันข้อความ
- ใน Apidog: เลือก "Hawk Authentication" และกรอก ID, คีย์ และอัลกอริทึมที่จำเป็น
5. ลายเซ็น AWS
สิ่งสำคัญสำหรับการทดสอบ API ที่โฮสต์บน Amazon Web Services
- ใน Apidog: เลือก "AWS Signature"
- การกำหนดค่า: ป้อน AWS Access Key, Secret Key, Region และชื่อบริการของคุณ (เช่น
execute-api) Apidog จะคำนวณและเพิ่มส่วนหัว AWS Signature v4 ที่ซับซ้อนให้คุณโดยอัตโนมัติ
6. การยืนยันตัวตนแบบ Digest Authentication
โปรโตคอลการท้าทาย-ตอบสนองที่ปลอดภัยกว่า Basic Auth
- ใน Apidog: เลือก "Digest 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 ของคุณทำงานหรือไม่ ไปสู่การ ตรวจสอบอย่างมั่นใจ ว่าโมเดลความปลอดภัยนั้นแข็งแกร่ง เชื่อถือได้ และพร้อมสำหรับการผลิต หยุดคัดลอกและวางโทเค็น; เริ่มสร้างกลยุทธ์การทดสอบแบบมืออาชีพและอัตโนมัติ
