Felo API PlatformFelo API Platform

เริ่มต้น

การยืนยันตัวตน

ยืนยันตัวตนคำขอด้วยคีย์ API ปฏิบัติตามแนวทางความปลอดภัย และจัดการข้อผิดพลาดด้านการยืนยันตัวตน

คำขอทั้งหมดไปยัง API ของ Felo API Platform ต้องรับรองความถูกต้องด้วยคีย์ API คู่มือนี้จะอธิบายวิธีรับรองความถูกต้องของคำขอและการจัดการปัญหาการรับรองความถูกต้องที่พบบ่อย

การรับรองความถูกต้องด้วยคีย์ API

Felo ใช้การรับรองความถูกต้องด้วยคีย์ API สำหรับ endpoint v2 ทั้งหมด คีย์ API ของคุณระบุแอปพลิเคชันของคุณและให้เข้าถึงความสามารถของแพลตฟอร์ม

วิธีการทำงาน

  1. คุณรับคีย์ API จากหน้าคีย์ API ของ Felo API Platform
  2. คุณใส่คีย์ API ใน header Authorization ของทุกคำขอ API
  3. แพลตฟอร์มตรวจสอบคีย์ API ของคุณและประมวลผลคำขอ

ใส่คีย์ 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:

  1. เปิดหน้าคีย์ API ของ Felo API Platform
  2. ลงชื่อเข้าใช้ด้วยบัญชี Felo ของคุณหากระบบร้องขอ
  3. กรอกชื่อคีย์แล้วคลิก Create Key
  4. คัดลอกคีย์แบบเต็มเมื่อแสดงขึ้น คีย์จะแสดงเพียงครั้งเดียว
  5. เก็บคีย์อย่างปลอดภัยและใช้เป็น 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_abc123xyz789

Windows (PowerShell):

$env:FELO_API_KEY="sk_live_abc123xyz789"

3. หมุนเวียนคีย์อย่างสม่ำเสมอ

สร้างคีย์ API ใหม่เป็นระยะและเพิกถอนคีย์เก่าเพื่อลดความเสี่ยงด้านความปลอดภัย

4. ใช้คีย์แยกกันสำหรับแต่ละสภาพแวดล้อม

สร้างคีย์ API แยกสำหรับสภาพแวดล้อมการพัฒนา การทดสอบก่อนใช้งานจริง และการใช้งานจริง

5. ห้ามเปิดเผยคีย์ในโค้ดฝั่งไคลเอนต์

ควรใช้คีย์ API ในโค้ดฝั่งเซิร์ฟเวอร์เท่านั้น ห้ามใส่คีย์ใน:

  • โค้ด JavaScript ฝั่งฟรอนต์เอนด์
  • ซอร์สโค้ดแอปมือถือ
  • ที่เก็บโค้ดสาธารณะ
  • ไฟล์กำหนดค่าฝั่งไคลเอนต์

ข้อผิดพลาดในการรับรองความถูกต้อง

สำหรับซองข้อผิดพลาดแบบเต็ม header ขีดจำกัดอัตรา และนโยบายการลองใหม่ โปรดดู ข้อผิดพลาด ขีดจำกัด และการลองใหม่

รหัสข้อผิดพลาดที่พบบ่อย

HTTPรหัสความหมาย
401UNAUTHORIZEDคีย์หายไป ไม่ถูกต้อง หมดอายุ หรือถูกเพิกถอน
429RATE_LIMITEDคำขอมากเกินไป ดูคู่มือ ข้อผิดพลาด ขีดจำกัด และการลองใหม่

คำขอที่ถูกปฏิเสธจะแสดงสถานะของคีย์ใน message:

{
  "status": 401,
  "code": "UNAUTHORIZED",
  "message": "API Key is required",
  "request_id": "..."
}

status คือรหัสสถานะ HTTP คีย์ที่ถูกเพิกถอนจะรายงานว่า API Key has been revoked (keyPrefix=...) ให้แยกการทำงานตามสถานะ HTTP และ code ไม่ใช่ตามถ้อยคำที่แน่นอนของ message

การแก้ไขปัญหา

หากการรับรองความถูกต้องล้มเหลว:

  1. ตรวจสอบว่า header เป็น Authorization: Bearer YOUR_API_KEY อย่างถูกต้อง
  2. ยืนยันว่าคีย์ยังไม่ถูกเพิกถอนบนหน้าคีย์ API
  3. ยืนยันว่าสภาพแวดล้อมใช้คีย์ที่คุณคาดไว้
  4. สร้างคีย์ใหม่หากคีย์เก่าถูกลบหรือหมุนเวียน คีย์แบบเต็มจะแสดงเพียงครั้งเดียวตอนสร้าง

สำหรับรายการตรวจสอบที่เริ่มจากอาการ ซึ่งครอบคลุมการรับรองความถูกต้องและส่วนอื่น ๆ ของแพลตฟอร์ม โปรดดู การแก้ไขปัญหา

ตัวอย่าง: การแก้ไขข้อบกพร่องด้านการรับรองความถูกต้อง

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 และนโยบายการลองใหม่แบบเต็ม โปรดดู ข้อผิดพลาด ขีดจำกัด และการลองใหม่

ต้องการความช่วยเหลือหรือไม่

หากคุณพบปัญหาการรับรองความถูกต้อง:

  1. อ่านคู่มือนี้อย่างละเอียด
  2. ดูคู่มือ เริ่มต้นใช้งาน
  3. ตรวจสอบคีย์ API ของคุณบนหน้าคีย์ API
  4. ติดต่อฝ่ายสนับสนุนที่ [email protected] พร้อมระบุ request ID ของคุณ

ขั้นตอนถัดไป