HTTP Basic Authentication เป็นรูปแบบการยืนยันตัวตนอย่างง่ายที่สร้างขึ้นในโปรโตคอล HTTP โดยจะส่งข้อมูลรับรอง (username:password) ที่เข้ารหัสใน Base64 ในส่วนหัว Authorization
Basic Auth ทำงานอย่างไร
ไคลเอนต์จะส่งชื่อผู้ใช้และรหัสผ่านเป็น 'username:password' เข้ารหัสด้วย Base64 และเพิ่มลงในส่วนหัว Authorization เป็น 'Basic <base64>' เซิร์ฟเวอร์จะถอดรหัสและตรวจสอบข้อมูลรับรอง มันง่าย แต่ต้องการ HTTPS เพื่อความปลอดภัย
ควรใช้ Basic Auth เมื่อใด
ใช้ Basic Auth สำหรับ API ง่ายๆ เครื่องมือภายใน หรือการพัฒนา/ทดสอบ เหมาะสำหรับการยืนยันตัวตนอย่างรวดเร็วโดยไม่มีขั้นตอน OAuth ที่ซับซ้อน อย่างไรก็ตาม ควรใช้ HTTPS เสมอ - Basic Auth ส่งข้อมูลรับรองที่สามารถถอดรหัสได้ง่ายหากถูกดักจับ
ข้อควรพิจารณาด้านความปลอดภัย
ควรใช้ HTTPS เสมอเมื่อใช้ Basic Auth - Base64 คือการเข้ารหัส ไม่ใช่การเข้ารหัสลับ ใครๆ ก็สามารถถอดรหัสได้ สำหรับ API ที่ใช้งานจริงซึ่งให้บริการผู้ใช้สาธารณะ ให้พิจารณา OAuth 2.0 หรือ JWT Basic Auth เหมาะที่สุดสำหรับการสื่อสารระหว่างเซิร์ฟเวอร์ต่อเซิร์ฟเวอร์ หรือเครื่องมือภายในที่มี HTTPS