ข้อกำหนดด้านการยืนยันตัวตน และการตรวจสอบสิทธิ์

⌘K

ข้อกำหนดด้านการยืนยันตัวตน และการตรวจสอบสิทธิ์

ข้อกำหนดด้านการยืนยันตัวตน และการตรวจสอบสิทธิ์

ในส่วนของการยืนยันตัวตน (Authentication) สามารถเลือกวีธีการ 4 รูปแบบ

  • แบบที่ 1 Static API Key วิธีการนี้เป็นวิธีที่ง่าย โดยที่ผู้ให้บริการข้อมูล จะต้องทำการสร้าง API Key เตรียมไว้สำหรับผู้ขอใช้บริการ จากนั้นทำการส่งมอบ API Key ด้วยช่องทางอื่น ๆ ที่เหมาะสม อาทิ เช่น ส่งทางอีเมล เมื่อผู้ใช้บริการต้องการที่จะเข้าถึงข้อมูล ก็จะต้องนำ API Key ที่ได้เป็นใช้เป็น Token ในการเข้าถึงข้อมูลต่อไ
  • แบบที่ 2 Dynamic API Key วิธีการนี้จะมีการตรวจสอบตัวตนด้วย Credential โดยแอปพลิเคชันจะต้องทำหน้าที่ตรวจสอบ username และ password ที่ทำการล็อกอิน เมื่อตรวจสอบความถูกต้องแล้ว หากไม่พบข้อผิดพลาด จะทำการสร้าง API Key ใหม่และทำการส่งผลลัพธ์กลับไป เพื่อให้ผู้ขอใช้บริการได้ใช้เป็น Token ในการเข้าถึงข้อมูลต่อไป ประโยชน์ของวิธีการนี้ ผู้ให้บริการข้อมูลสามารถบริหารจัดการสิทธิ์ในการเข้าถึงข้อมูลได้ยืดหยุ่นกว่าการใช้ Static API Key และการพัฒนาแอปพลิเคชันยังคงทำได้ง่าย
  • แบบที่ 3 การใช้คีย์คู่ (Public Key/Private Key) วิธีการนี้แต่ละหน่วยงานที่จะแลกเปลี่ยนข้อมูลจำเป็นจะต้องสร้างคีย์คู่ (Public Key/Private Key) และต้องแชร์ส่วนที่เป็น Public Key ข้อดีของวิธีการนี้คือ มีความปลอดภัยสูง สามารถตรวจสอบตัวตนผู้แลกเปลี่ยนข้อมูลได้ สามารถเข้ารหัสลับข้อมูลได้ รวมถึงการบริหารจัดการระยะเวลาการใช้งาน (Expire Management) ได้ดี ตัวอย่างของการใช้งาน ในกรณีที่ผู้ขอใช้บริการต้องการเข้าถึงข้อมูล จะทำการส่งคำร้องตามรูปแบบตามโครงสร้างของ RESTful API ที่ได้กำหนด ข้อมูลคำร้องดังกล่าวจะถูกเข้ารหัสลับด้วย Public key ของผู้ให้บริการ และเมื่อผู้ให้บริการได้รับคำร้อง จะทำการถอดรหัสลับด้วย private key จากนั้นจะเป็นการดำเนินการตามคำร้อง ในขณะเดียวกันการส่งผลลัพธ์ข้อมูลกลับไปยังผู้ขอใช้บริการ ข้อมูลจะถูกเข้ารหัสลับด้วย Public Key ของผู้ขอใช้บริการ เมื่อผู้ใช้บริการได้รับข้อมูลก็จะทำการถอดรหัสลับข้อมูลด้วย Private Key ของตน
  • แบบที่ 4 การใช้ Authentication Server วิธีการนี้เป็นการติดตั้งและตั้งค่า เครื่องแม่ข่ายที่ทำหน้าที่ในการยืนยันตัวตนและตรวจสอบสิทธิ์การใช้งาน โดยเครื่องแม่ข่ายจะต้องรองรับมาตรฐาน OAuth2.0 และ Open ID Connect

How can we help?