ภาพรวมการยืนยันตัวตน
Caution
หน้าตัวอย่าง - นี่คือหน้าตัวอย่างสำหรับแสดงความสามารถของเอกสารแบบหลายแท็บ เนื้อหานี้ใช้เพื่อประกอบการอธิบายเท่านั้น
คู่มือนี้อธิบายวิธียืนยันตัวตนกับ API ของเรา เรารองรับวิธีการยืนยันตัวตนหลายรูปแบบ
API Key
วิธียืนยันตัวตนที่ง่ายที่สุดคือการใช้ API key แต่ละ API key จะผูกกับผู้ใช้รายหนึ่งโดยเฉพาะ และมีสิทธิ์การเข้าถึงเฉพาะของตัวเอง
// Example API Key requestconst response = await fetch('https://api.example.com/data', { headers: { 'Authorization': 'Bearer YOUR_API_KEY' }});OAuth 2.0
สำหรับแอปพลิเคชันที่ต้องการความปลอดภัยสูงขึ้น เรารองรับขั้นตอนการยืนยันตัวตนแบบ OAuth 2.0
- คำขอสิทธิ์การเข้าถึง: เปลี่ยนเส้นทางผู้ใช้ไปยัง URL สำหรับให้สิทธิ์ของเรา
- การยินยอมของผู้ใช้: ผู้ใช้อนุมัติการเข้าถึงบัญชีของตนเอง
- โค้ดสำหรับให้สิทธิ์: เซิร์ฟเวอร์ของเราส่งโค้ดสำหรับให้สิทธิ์กลับมา
- การแลกเปลี่ยนโทเค็น: นำโค้ดไปแลกเป็น access token
- การเรียกใช้ API: ใช้ access token เพื่อเข้าถึงทรัพยากรที่ถูกป้องกันไว้
JWT Token
หลังจากยืนยันตัวตนสำเร็จ เราจะออก JWT token ที่บรรจุข้อมูลของผู้ใช้และสิทธิ์การเข้าถึงในรูปแบบที่เข้ารหัสไว้
// Example JWT token usageconst response = await fetch('https://api.example.com/protected-resource', { headers: { 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...' }});การจัดการเซสชัน
เซสชันมีอายุการใช้งาน 24 ชั่วโมงตามค่าเริ่มต้น หากต้องการต่ออายุเซสชัน
const refreshResponse = await fetch('https://api.example.com/auth/refresh', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer CURRENT_REFRESH_TOKEN' }});
// Parse the new tokensconst { accessToken, refreshToken } = await refreshResponse.json();แนวทางปฏิบัติที่ดีที่สุด
- อย่าเก็บ API key หรือโทเค็นไว้ในโค้ดฝั่งไคลเอนต์เด็ดขาด
- ใช้ environment variable สำหรับข้อมูลรับรองที่เป็นความลับ
- สร้างกลไกต่ออายุโทเค็นสำหรับแอปพลิเคชันที่ทำงานต่อเนื่องเป็นเวลานาน
- กำหนดเวลาหมดอายุของโทเค็นให้เหมาะสม
- ใช้ HTTPS สำหรับทุกคำขอที่ส่งไปยัง API