Skip to content

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

การร้องขอทั้งหมดไปยัง OpenTyphoon.ai API ต้องมีการยืนยันตัวตน หน้านี้อธิบายวิธีการรับ API key, การใช้งานอย่างปลอดภัยในแอปพลิเคชันของคุณ และการจัดการ API keys ของคุณ

การรับ API Key

วิธีการรับ API key:

  1. ลงทะเบียนบัญชีที่ OpenTyphoon.ai
  2. เข้าสู่ระบบบัญชีของคุณ
  3. ไปที่ส่วน API Keys ในแดชบอร์ดของคุณ
  4. คลิก “สร้าง API key ใหม่”
  5. ตั้งชื่อ API key ที่อธิบายได้ (เช่น “การพัฒนา”, “การผลิต” เป็นต้น)
  6. คัดลอก API key ของคุณและเก็บไว้อย่างปลอดภัย - มันจะไม่แสดงอีกครั้ง!

การใช้ API Key ของคุณ

เพื่อยืนยันตัวตนในการร้องขอ API ให้รวม API key ของคุณไว้ในส่วนหัว Authorization โดยใช้รูปแบบ Bearer token:

Authorization: Bearer <YOUR_API_KEY>

ตัวอย่างด้วย cURL

หน้าต่างเทอร์มินัล
curl --location 'https://api.opentyphoon.ai/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <YOUR_API_KEY>' \
--data '{
"model": "typhoon-v2-70b-instruct",
"messages": [{"role": "user", "content": "Hello"}]
}'

ตัวอย่างด้วย Python

from openai import OpenAI
client = OpenAI(
api_key="<YOUR_API_KEY>",
base_url="https://api.opentyphoon.ai/v1"
)
response = client.chat.completions.create(
model="typhoon-v2-70b-instruct",
messages=[{"role": "user", "content": "Hello"}]
)

ตัวอย่างด้วย JavaScript

import OpenAI from 'openai';
const openai = new OpenAI({
apiKey: '<YOUR_API_KEY>',
baseURL: 'https://api.opentyphoon.ai/v1',
});
async function callAPI() {
const response = await openai.chat.completions.create({
model: 'typhoon-v2-70b-instruct',
messages: [{ role: 'user', content: 'Hello' }],
});
console.log(response.choices[0].message.content);
}

แนวทางปฏิบัติที่ดีที่สุดในการรักษาความปลอดภัยของ API Key

เพื่อรักษา API key ของคุณให้ปลอดภัย:

  1. ไม่ควรเปิดเผย API key ในโค้ดฝั่งไคลเอนต์เด็ดขาด - ควรใช้ API keys เฉพาะในโค้ดฝั่งเซิร์ฟเวอร์เท่านั้น ที่ซึ่งผู้ใช้ปลายทางไม่สามารถเข้าถึงได้

  2. ใช้ตัวแปรสภาพแวดล้อม - เก็บ API key ของคุณเป็นตัวแปรสภาพแวดล้อมแทนการเขียนโค้ดลงไปในแอปพลิเคชันของคุณโดยตรง

    # ตัวอย่าง Python
    import os
    from openai import OpenAI
    client = OpenAI(
    api_key=os.environ.get("OPENTYPHOON_API_KEY"),
    base_url="https://api.opentyphoon.ai/v1"
    )
  3. จำกัดสิทธิ์ของ API key - สร้าง API keys ที่มีสิทธิ์น้อยที่สุดเท่าที่จำเป็นสำหรับแอปพลิเคชันของคุณ

  4. หมุนเวียน API keys เป็นระยะ - สร้าง API keys ใหม่เป็นประจำและเลิกใช้ API keys เก่าเพื่อจำกัดผลกระทบจากการเปิดเผย API key

  5. ใช้บริการจัดการความลับ - สำหรับแอปพลิเคชันการผลิต ให้ใช้บริการเช่น AWS Secrets Manager, Google Secret Manager หรือ Azure Key Vault เพื่อเก็บและจัดการ API keys ของคุณ

  6. ตรวจสอบการใช้งาน API key - ตรวจสอบแดชบอร์ดการใช้งานของคุณเป็นประจำเพื่อตรวจจับกิจกรรมผิดปกติที่อาจบ่งชี้ว่า API key ถูกรั่วไหล

การนำการยืนยันตัวตนไปใช้ในสภาพแวดล้อมต่างๆ

แอปพลิเคชันเว็บแบ็กเอนด์

สำหรับแอปพลิเคชันเว็บ ให้เก็บ API key ของคุณไว้อย่างปลอดภัยบนเซิร์ฟเวอร์ของคุณและทำการเรียก API จากแบ็กเอนด์ของคุณ:

// ตัวอย่าง Node.js Express
const express = require('express');
const { OpenAI } = require('openai');
require('dotenv').config();
const app = express();
app.use(express.json());
const openai = new OpenAI({
apiKey: process.env.OPENTYPHOON_API_KEY,
baseURL: 'https://api.opentyphoon.ai/v1',
});
app.post('/api/chat', async (req, res) => {
try {
const response = await openai.chat.completions.create({
model: 'typhoon-v2-70b-instruct',
messages: req.body.messages,
});
res.json({ response: response.choices[0].message.content });
} catch (error) {
res.status(500).json({ error: error.message });
}
});
app.listen(3000, () => {
console.log('Server running on port 3000');
});

แอปพลิเคชันมือถือ

สำหรับแอปพลิเคชันมือถือ อย่าเพิ่ม API keys โดยตรงในแอปของคุณ แทนที่จะทำเช่นนั้น ให้ตั้งค่าบริการแบ็กเอนด์ที่จัดการการเรียก API:

// ตัวอย่าง Swift สำหรับ iOS
func callChatAPI(message: String, completion: @escaping (Result<String, Error>) -> Void) {
// สร้างคำขอไปยังแบ็กเอนด์ของคุณ ไม่ใช่ไปยัง OpenTyphoon.ai โดยตรง
guard let url = URL(string: "https://your-backend.com/api/chat") else {
completion(.failure(NSError(domain: "Invalid URL", code: 0)))
return
}
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let body: [String: Any] = [
"message": message
]
request.httpBody = try? JSONSerialization.data(withJSONObject: body)
URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
completion(.failure(error))
return
}
guard let data = data else {
completion(.failure(NSError(domain: "No data received", code: 0)))
return
}
do {
if let json = try JSONSerialization.jsonObject(with: data) as? [String: Any],
let response = json["response"] as? String {
completion(.success(response))
} else {
completion(.failure(NSError(domain: "Invalid response format", code: 0)))
}
} catch {
completion(.failure(error))
}
}.resume()
}

การจัดการข้อผิดพลาด

หากคุณพบข้อผิดพลาดในการยืนยันตัวตน ให้ตรวจสอบรหัสสถานะ HTTP และข้อความแสดงข้อผิดพลาด:

  • 401 Unauthorized: API key ของคุณไม่ถูกต้องหรือถูกเพิกถอน
  • 403 Forbidden: API key ของคุณไม่มีสิทธิ์ในการเข้าถึงทรัพยากรที่ร้องขอ

ตัวอย่างการตอบกลับข้อผิดพลาด:

{
"error": {
"message": "ให้ API key ที่ไม่ถูกต้อง",
"type": "authentication_error",
"param": null,
"code": "invalid_api_key"
}
}

การจัดการ API Key

คุณสามารถจัดการ API keys ของคุณผ่านแดชบอร์ด OpenTyphoon.ai:

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

การขอความช่วยเหลือ

หากคุณประสบปัญหาในการยืนยันตัวตนกับ OpenTyphoon.ai API โปรดติดต่อทีมสนับสนุนของเราที่ contact@opentyphoon.ai หรือเข้าร่วม ชุมชน Discord ของเราเพื่อขอความช่วยเหลือ