X-API-KEY Authentication
วิธีขอและใช้งาน API Key สำหรับยืนยันตัวตนกับ Payment API
API Key Overview
Payment API ใช้ X-API-KEY header สำหรับการยืนยันตัวตน API Key จะถูกใช้เพื่อระบุตัวตนของคุณและให้สิทธิ์เข้าถึง API endpoints ต่างๆ
ความสำคัญของ API Key
- • API Key เปรียบเสมือนรหัสผ่านของระบบ - เก็บรักษาให้ปลอดภัย
- • อย่าแชร์ API Key ในโค้ดที่เปิดเผยหรือ repository สาธารณะ
- • ใช้ environment variables หรือ secure configuration management
- • หาก API Key หลุดออกไป ให้แจ้งทีมงานเพื่อออก key ใหม่ทันที
วิธีขอ API Key
API Key ขอได้จากทีมงานโดยตรงเท่านั้น ระบบไม่มีหน้าสมัครหรือปุ่มสร้าง key ให้ร้านทำเอง ทีมงานจะส่ง API Key พร้อม Secret Key ให้ โดย Secret Key ใช้สร้าง x-signature ของทุก request
สำคัญ: เก็บ Secret Key ไว้ฝั่ง server เท่านั้น ถ้าสงสัยว่า key หลุด ให้แจ้งทีมงานเพื่อออก key ชุดใหม่ทันที
การใช้งาน
ทุก request ที่ต้องยืนยันตัวตนต้องส่ง 3 header คู่กันเสมอ คือ x-api-key, x-signature และ x-timestamp ส่ง x-api-key อย่างเดียวระบบจะปฏิเสธ
Security Best Practices
สิ่งที่ควรทำ
- ✓ใช้ environment variables
- ✓ขอเปลี่ยน key กับทีมงานเมื่อมีคนที่เคยเข้าถึง key ออกจากทีม
- ✓ใช้ HTTPS เท่านั้น
- ✓ตรวจสอบ logs เป็นประจำ
สิ่งที่ไม่ควรทำ
- ✗เก็บ API Key ในโค้ด
- ✗แชร์ API Key ใน public repository
- ✗ใช้ API Key เดียวกันในหลาย environment
- ✗ส่ง API Key ผ่าน URL parameters
Environment Variables
วิธีที่แนะนำในการจัดการ API Key คือการใช้ environment variables
Node.js (.env)
.env
PAYMENT_API_KEY=your_api_key_here
PAYMENT_BASE_URL=https://testnet.trustsig.xyzPython (.env)
.env
PAYMENT_API_KEY=your_api_key_here
PAYMENT_BASE_URL=https://testnet.trustsig.xyz