EasySlip API ปลอดภัยขึ้นได้ยังไง? รวมวิธีตั้งค่า IP Whitelist และเปลี่ยน Bearer Token แบบไม่สะดุด 

วิธีตั้งค่า IP Whitelist และ Bearer Token สำหรับ EasySlip API

เมื่อธุรกิจเชื่อมระบบตรวจสอบสลิปเข้ากับ EasySlip API สิ่งที่ไม่ควรมองข้ามคือเรื่องความปลอดภัยของ API Key เพราะ Key ทำหน้าที่เป็นข้อมูลสำหรับยืนยันตัวตนทุกครั้งที่ระบบส่ง Request ไปยัง EasySlip API v2 ใช้ Bearer Token ผ่าน Authorization Header และมีฟีเจอร์ IP Whitelist สำหรับจำกัดการเข้าถึง API ให้เฉพาะ IP ที่ธุรกิจกำหนดไว้ โดย

แนะนำให้เก็บ API Key ไว้ใน Environment Variables และทำ API Request จากฝั่ง Server แทนการใส่ Key ไว้ใน Client-side JavaScript ดังนั้น หากต้องการเพิ่มความปลอดภัยให้ระบบอีซี่สลิป แนวทางสำคัญคือ จำกัด IP ที่เข้าถึง API, ไม่เปิดเผย API Key และวางแผนเปลี่ยน Key อย่างเป็นระบบ เพื่อไม่ให้ระบบตรวจสอบสลิปสะดุด

ทำไมต้องให้ความสำคัญกับ API Key ของ EasySlip?

การเรียกอีซี่สลิปทุก Request ต้องมีการยืนยันตัวตน โดยรูปแบบที่เอกสารระบุคือ Authorization: Bearer YOUR_API_KEY ซึ่ง API Key ของ EasySlip ใช้รูปแบบ UUID v4 และควรเก็บไว้ในฝั่ง Server หรือ Environment Variables ไม่ควรนำไปใส่ใน JavaScript ที่ผู้ใช้งานสามารถเปิดดูได้ เพราะอาจทำให้ Key ถูกเปิดเผยได้ ตัวอย่างการเก็บ Key ใน Environment Variables เช่น EASYSLIP_API_KEY=your-api-key จากนั้นให้ Backend เป็นผู้เรียก API แทนการส่ง Key ออกไปยัง Browser หรือ Mobile App โดยตรง แนวทางนี้ช่วยแยกข้อมูลสำหรับยืนยันตัวตนออกจากส่วนของระบบที่ผู้ใช้งานเข้าถึงได้

ทำไมต้องให้ความสำคัญกับ API Key ของ EasySlip?
การเรียก EasySlip API ทุก Request ต้องมีการยืนยันตัวตน โดยรูปแบบที่เอกสารระบุคือ Authorization: Bearer YOUR_API_KEY

IP Whitelist ของ EasySlip คืออะไร?

IP Whitelist คือการกำหนดว่า IP Address ใดสามารถเข้าถึง API ได้ ใน EasySlip Developer Portal สามารถตั้งค่า IP Whitelist เพื่อจำกัดการเข้าถึง API เฉพาะ Server ที่ธุรกิจกำหนดไว้ หาก Request มาจาก IP ที่ไม่ได้อยู่ในรายการ ระบบสามารถตอบกลับด้วย Error IP_NOT_ALLOWED ซึ่งเป็น HTTP 403 ได้ ตัวอย่างเช่น ธุรกิจมี Backend Server อยู่ที่ IP หนึ่ง ก็สามารถเพิ่ม IP ของ Server นั้นเข้า Whitelist เพื่อให้ Request จากระบบที่กำหนดเท่านั้นสามารถเรียก API ได้

วิธีตั้งค่า IP Whitelist

ตามเอกสารขั้นตอนหลักมีดังนี้

  1. เข้า EasySlip Developer Portal
  2. ไปที่ส่วนตั้งค่าของ Application
  3. เพิ่ม IP Address ของ Server ที่ต้องการอนุญาต
  4. ตรวจสอบว่า Request จากระบบใช้ IP ที่อยู่ใน Whitelist
  5. ทดสอบการเรียก API หลังจากตั้งค่า

สามารถใช้เพื่ออนุญาตทุก IP ได้ แต่ ไม่แนะนำสำหรับ Production เพราะเป็นการเปิดให้ Request มาจาก IP ใดก็ได้ ดังนั้น ถ้าระบบใช้งานจริงและมี Server IP ที่แน่นอน การระบุ IP ที่จำเป็นจริงจะเหมาะกว่า

ก่อนเปิดใช้ IP Whitelist ต้องระวังอะไร?
ต้องระวังระบบของธุรกิจส่ง Request ออกมาจาก IP ที่ไม่ได้อยู่ใน Whitelist

ก่อนเปิดใช้ IP Whitelist ต้องระวังอะไร?

ปัญหาที่พบบ่อยไม่ได้เกิดจาก API เสีย แต่เกิดจากระบบของธุรกิจส่ง Request ออกมาจาก IP ที่ไม่ได้อยู่ใน Whitelist

ตัวอย่างเช่น

  • ย้าย Server ใหม่
  • เปลี่ยน Hosting
  • เปลี่ยน Public IP
  • เพิ่ม Server สำหรับ Backup
  • เปลี่ยน Infrastructure
  • ระบบมีหลาย Environment เช่น Development, Staging และ Production

หาก IP ที่ระบบใช้จริงไม่ตรงกับรายการที่อนุญาต Request อาจได้รับ Error IP_NOT_ALLOWED และทำให้ขั้นตอนตรวจสอบสลิปไม่ทำงานตามปกติ เพราะฉะนั้นก่อนเปลี่ยน Infrastructure ควรตรวจสอบ IP ของ Server และอัปเดต Whitelist ให้เรียบร้อย

Bearer Token ควรเก็บอย่างไรให้ปลอดภัย?

อย่าเปิดเผย API Key ใน Client-side Code ไม่ควรเขียนลักษณะนี้ไว้ใน JavaScript ที่ถูกส่งไปยัง Browser

  • const API_KEY = ‘your-api-key-here’;

แต่ควรเก็บ Key ไว้ใน Environment Variables เช่น

  • EASYSLIP_API_KEY=your-api-key

แล้วให้ Backend อ่านค่าดังกล่าวเมื่อต้องเรียก API นอกจากนี้ไม่ควรนำ API Key ไปใส่ใน Git Repository แบบ Public หรือใส่ไว้ในไฟล์ Configuration ที่ผู้ใช้งานภายนอกสามารถเข้าถึงได้

ถ้าต้องเปลี่ยน Bearer Token ต้องทำอย่างไรไม่ให้ระบบสะดุด?

จุดนี้ควรวางแผนก่อนเปลี่ยน Key เพราะ API Request ทุกครั้งต้องใช้ Credential ที่ถูกต้อง ดังนั้นการเปลี่ยน Key ควรจัดการในระดับระบบของธุรกิจเอง โดยวางแผน Deployment ให้รอบคอบ

แนวทางที่เหมาะสมคือ

  1. เตรียม Key ใหม่ก่อน จัดเก็บ Credential ใหม่ไว้ใน Secret หรือ Environment Variable ของระบบ
  2. ตรวจสอบ Configuration ให้แน่ใจว่า Application สามารถอ่านค่า Key ใหม่ได้ถูกต้อง
  3. Deploy ระบบ นำ Configuration ใหม่ขึ้น Production
  4. ทดสอบ API ทดสอบ Endpoint ที่ระบบใช้งาน เช่น /v2/info หรือ /v2/verify/bank เพื่อดูว่า Authentication ทำงานตามปกติ
  5. ตรวจสอบระบบหลังเปลี่ยน Key ดู Log และ Error Response เพื่อให้แน่ใจว่าไม่มี Request ที่ล้มเหลวจาก Authentication

ต้องบอกเลยว่าวิธีนี้ช่วยลดโอกาสที่การเปลี่ยน Credential จะทำให้ระบบตรวจสอบสลิปหยุดทำงานโดยไม่รู้ตัว

Error ที่ควรรู้เมื่อเชื่อม EasySlip API

เมื่อระบบเชื่อม EasySlip API แล้ว Developer ควรรู้จัก Error ที่เกี่ยวข้องกับ Authentication และ IP อย่างน้อย 3 ตัว

MISSING_API_KEY — 401

เกิดจากไม่มี Authorization Header วิธีแก้คือตรวจสอบว่า Request ส่ง Authorization: Bearer YOUR_API_KEY ไปด้วยหรือไม่

INVALID_API_KEY — 401

หมายถึง API Key ที่ส่งไปไม่ถูกต้องหรือไม่สามารถใช้งานได้ ควรตรวจสอบ Configuration และ Key ที่ระบบกำลังอ่านอยู่

IP_NOT_ALLOWED — 403

หมายถึง IP ของระบบไม่ได้อยู่ใน Whitelist ต้องตรวจสอบ Public IP ของ Server และเพิ่ม IP ที่ถูกต้องใน Developer Portal

เช็กความปลอดภัย EasySlip API ก่อนขึ้น Production

ก่อนเปิดระบบจริง ลองใช้ Checklist นี้ตรวจสอบ

  • เก็บ API Key ใน Environment Variables
  • ไม่ใส่ API Key ใน Client-side JavaScript
  • ไม่ Commit API Key ลง Public Repository
  • เรียก EasySlip API จาก Server
  • ตั้งค่า IP Whitelist
  • ไม่ใช้ * หากสามารถกำหนด IP ของ Server ได้
  • ตรวจสอบ IP ทุกครั้งที่ย้าย Server
  • ทดสอบ API หลังเปลี่ยน Credential
  • ตรวจสอบ Log หลัง Deploy
  • เตรียมขั้นตอนแก้ไขกรณีเกิด 401 หรือ 403

สำหรับโปรเจกต์ใหม่ แนะนำให้ใช้ API v2 ซึ่งมี Base URL เป็น https://api.easyslip.com/v2 และรองรับ Endpoint สำหรับตรวจสอบสลิป เช่น POST /verify/bank รวมถึง Endpoint สำหรับดูข้อมูล Application และ Health Check

ทำ EasySlip API ให้ปลอดภัยโดยไม่เพิ่มความยุ่งยาก

การรักษาความปลอดภัยของอีซี่สลิปไม่ได้มีแค่การเก็บ Bearer Token ให้ดีเท่านั้น แต่ควรใช้หลายวิธีร่วมกัน ทั้ง Environment Variables, Server-side Request และ IP Whitelist สำหรับ Production การจำกัด IP ที่สามารถเรียก API ได้ช่วยเพิ่มอีกชั้นในการควบคุมการเข้าถึง ขณะที่การจัดการ API Key ผ่าน Environment Variables ช่วยลดความเสี่ยงจากการเปิดเผย Credential ใน Source Code

ส่วนการเปลี่ยน API Key ควรวางแผนเป็นขั้นตอนและทดสอบหลัง Deploy เพื่อไม่ให้ระบบตรวจสอบสลิปหยุดทำงานโดยไม่ตั้งใจ หากกำลังพัฒนาเว็บไซต์ แอป หรือระบบหลังบ้านที่ต้องตรวจสอบสลิปจำนวนมาก EasySlip รองรับการตรวจสอบสลิปธนาคารผ่าน QR Payload, รูปภาพ, Base64 และ URL รวมถึงมีฟีเจอร์ตรวจจับสลิปซ้ำและ Account Matching ใน API v2 เริ่มต้นเชื่อมต่อ EasySlip API และดูรายละเอียด API ได้ที่ EasySlip Developer Docs

บทความที่เกี่ยวข้อง