เริ่มต้น
การยืนยันตัวตน
ยืนยันตัวตนคำขอด้วยคีย์ API ปฏิบัติตามแนวทางความปลอดภัย และจัดการข้อผิดพลาดด้านการยืนยันตัวตน
คำขอทั้งหมดไปยัง API ของ Felo API Platform ต้องรับรองความถูกต้องด้วยคีย์ API คู่มือนี้จะอธิบายวิธีรับรองความถูกต้องของคำขอและการจัดการปัญหาการรับรองความถูกต้องที่พบบ่อย
การรับรองความถูกต้องด้วยคีย์ API
Felo ใช้การรับรองความถูกต้องด้วยคีย์ API สำหรับ endpoint v2 ทั้งหมด คีย์ API ของคุณระบุแอปพลิเคชันของคุณและให้เข้าถึงความสามารถของแพลตฟอร์ม
วิธีการทำงาน
- คุณรับคีย์ API จากหน้าคีย์ API ของ Felo API Platform
- คุณใส่คีย์ API ใน header
Authorizationของทุกคำขอ API - แพลตฟอร์มตรวจสอบคีย์ API ของคุณและประมวลผลคำขอ
รูปแบบ Header
ใส่คีย์ API ใน header Authorization โดยใช้รูปแบบการรับรองความถูกต้องแบบ Bearer:
Authorization: Bearer YOUR_API_KEYตัวอย่างคำขอ
curl -X POST https://openapi.felo.ai/v2/chat \
-H "Authorization: Bearer sk_live_abc123xyz789" \
-H "Content-Type: application/json" \
-d '{"query": "What is machine learning?"}'การรับคีย์ API
วิธีรับคีย์ API:
- เปิดหน้าคีย์ API ของ Felo API Platform
- ลงชื่อเข้าใช้ด้วยบัญชี Felo ของคุณหากระบบร้องขอ
- กรอกชื่อคีย์แล้วคลิก Create Key
- คัดลอกคีย์แบบเต็มเมื่อแสดงขึ้น คีย์จะแสดงเพียงครั้งเดียว
- เก็บคีย์อย่างปลอดภัยและใช้เป็น
FELO_API_KEY
แนวทางปฏิบัติด้านความปลอดภัยที่ดีที่สุด
1. เก็บคีย์ API อย่างปลอดภัย
อย่า ฝังคีย์ API ไว้ในซอร์สโค้ด:
# ❌ Bad - API Key exposed in code
api_key = "sk_live_abc123xyz789"ควร ใช้ตัวแปรสภาพแวดล้อมหรือการกำหนดค่าที่ปลอดภัย:
# ✅ Good - API Key from environment
import os
api_key = os.environ.get('FELO_API_KEY')2. ใช้ตัวแปรสภาพแวดล้อม
เก็บคีย์ API ในตัวแปรสภาพแวดล้อม:
Linux/macOS:
export FELO_API_KEY="sk_live_abc123xyz789"Windows (Command Prompt):
set FELO_API_KEY=sk_live_abc123xyz789Windows (PowerShell):
$env:FELO_API_KEY="sk_live_abc123xyz789"3. หมุนเวียนคีย์อย่างสม่ำเสมอ
สร้างคีย์ API ใหม่เป็นระยะและเพิกถอนคีย์เก่าเพื่อลดความเสี่ยงด้านความปลอดภัย
4. ใช้คีย์แยกกันสำหรับแต่ละสภาพแวดล้อม
สร้างคีย์ API แยกสำหรับสภาพแวดล้อมการพัฒนา การทดสอบก่อนใช้งานจริง และการใช้งานจริง
5. ห้ามเปิดเผยคีย์ในโค้ดฝั่งไคลเอนต์
ควรใช้คีย์ API ในโค้ดฝั่งเซิร์ฟเวอร์เท่านั้น ห้ามใส่คีย์ใน:
- โค้ด JavaScript ฝั่งฟรอนต์เอนด์
- ซอร์สโค้ดแอปมือถือ
- ที่เก็บโค้ดสาธารณะ
- ไฟล์กำหนดค่าฝั่งไคลเอนต์
ข้อผิดพลาดในการรับรองความถูกต้อง
สำหรับซองข้อผิดพลาดแบบเต็ม header ขีดจำกัดอัตรา และนโยบายการลองใหม่ โปรดดู ข้อผิดพลาด ขีดจำกัด และการลองใหม่
รหัสข้อผิดพลาดที่พบบ่อย
| HTTP | รหัส | ความหมาย |
|---|---|---|
| 401 | UNAUTHORIZED | คีย์หายไป ไม่ถูกต้อง หมดอายุ หรือถูกเพิกถอน |
| 429 | RATE_LIMITED | คำขอมากเกินไป ดูคู่มือ ข้อผิดพลาด ขีดจำกัด และการลองใหม่ |
คำขอที่ถูกปฏิเสธจะแสดงสถานะของคีย์ใน message:
{
"status": 401,
"code": "UNAUTHORIZED",
"message": "API Key is required",
"request_id": "..."
}status คือรหัสสถานะ HTTP คีย์ที่ถูกเพิกถอนจะรายงานว่า API Key has been revoked (keyPrefix=...) ให้แยกการทำงานตามสถานะ HTTP และ code ไม่ใช่ตามถ้อยคำที่แน่นอนของ message
การแก้ไขปัญหา
หากการรับรองความถูกต้องล้มเหลว:
- ตรวจสอบว่า header เป็น
Authorization: Bearer YOUR_API_KEYอย่างถูกต้อง - ยืนยันว่าคีย์ยังไม่ถูกเพิกถอนบนหน้าคีย์ API
- ยืนยันว่าสภาพแวดล้อมใช้คีย์ที่คุณคาดไว้
- สร้างคีย์ใหม่หากคีย์เก่าถูกลบหรือหมุนเวียน คีย์แบบเต็มจะแสดงเพียงครั้งเดียวตอนสร้าง
สำหรับรายการตรวจสอบที่เริ่มจากอาการ ซึ่งครอบคลุมการรับรองความถูกต้องและส่วนอื่น ๆ ของแพลตฟอร์ม โปรดดู การแก้ไขปัญหา
ตัวอย่าง: การแก้ไขข้อบกพร่องด้านการรับรองความถูกต้อง
import requests
url = "https://openapi.felo.ai/v2/chat"
api_key = "YOUR_API_KEY"
# Correct format
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
response = requests.post(url, headers=headers, json={"query": "test"})
if response.status_code == 401:
error = response.json()
print(f"Authentication failed: {error['code']}")
print(f"Message: {error['message']}")
print(f"Request ID: {error['request_id']}")
else:
print("Authentication successful!")ขีดจำกัดอัตรา
ขีดจำกัดอัตราบังคับใช้ ต่อ endpoint ไม่ใช่ทั่วทั้งคีย์ API ปัจจุบันมีเพียง `/v2/chat` เท่านั้นที่บังคับใช้ ผู้ใช้ที่มีการสมัครสมาชิก Felo แบบชำระเงินที่ใช้งานได้จะได้รับการยกเว้น endpoint /v2/** อื่น ๆ ไม่มีขีดจำกัดอัตราที่บังคับใช้
การตอบกลับ 429 มี header X-RateLimit-* และ Retry-After ควรอ่านขีดจำกัดที่ได้ผลจริงจาก header ของการตอบกลับ ไม่ใช่จากเอกสาร
สำหรับมิติของขีดจำกัดอัตรา header และนโยบายการลองใหม่แบบเต็ม โปรดดู ข้อผิดพลาด ขีดจำกัด และการลองใหม่
ต้องการความช่วยเหลือหรือไม่
หากคุณพบปัญหาการรับรองความถูกต้อง:
- อ่านคู่มือนี้อย่างละเอียด
- ดูคู่มือ เริ่มต้นใช้งาน
- ตรวจสอบคีย์ API ของคุณบนหน้าคีย์ API
- ติดต่อฝ่ายสนับสนุนที่ [email protected] พร้อมระบุ request ID ของคุณ
ขั้นตอนถัดไป
- คู่มือเริ่มต้นใช้งาน - เรียนรู้วิธีส่งคำขอ API ครั้งแรก
- เอกสารอ้างอิง Chat API - สำรวจเอกสาร Chat API