الرئيسية التوثيق المصادقة

مصادقة API

تعرّف على كيفية المصادقة مع واجهة برمجة تطبيقات LLM Resayil باستخدام مفاتيح API ورموز Bearer. افهم أفضل الممارسات لتأمين بيانات اعتمادك وإدارة مفاتيح API الخاصة بك.

عناوين URL الأساسية

تدعم واجهة برمجة التطبيقات ثلاثة عناوين أساسية. اختر ما يناسب حالة الاستخدام لديك:

العنوان الاستخدام
https://llmapi.resayil.io/v1/ Preferred متوافق مع OpenAI — الأنسب مع مكتبات OpenAI الرسمية وأي أداة تعمل مع OpenAI
https://llmapi.resayil.io/v1/ New نطاق API مخصص — بديل نظيف لمن يفضل نطاقاً منفصلاً لواجهة برمجة التطبيقات
https://llmapi.resayil.io/v1/ Standard العنوان القياسي — متاح للتوافق مع التكاملات القائمة

ملاحظة: جميع العناوين الثلاثة تؤدي نفس الوظيفة وتدعم نفس نقاط النهاية. نوصي باستخدام https://llmapi.resayil.io/v1/ في المشاريع الجديدة لأنه أقصر ومتوافق مباشرةً مع OpenAI SDK. يمكن أيضاً استخدام https://llmapi.resayil.io/v1/ كبديل على النطاق المخصص.

المصادقة بمفتاح API

يعتمد LLM Resayil على مصادقة Bearer token باستخدام مفاتيح API. يجب أن يتضمن كل طلب API مفتاحك في ترويسة Authorization. مفاتيح API هي بيانات اعتماد دائمة مرتبطة بحسابك ويمكن إدارتها من لوحة التحكم.

كيف تعمل مفاتيح API

عند إنشاء مفتاح API:

  • مرتبط بحسابك: المفتاح مقيّد بحسابك ويرث طبقة اشتراكك وحدود رصيدك.
  • لا تنتهي صلاحيته: مفاتيح API دائمة حتى تقوم بإلغائها يدوياً.
  • يمثّل وصولاً كاملاً: أي شخص يمتلك مفتاحك يمكنه إجراء طلبات API واستهلاك رصيدك.
  • مفاتيح متعددة مسموحة: يمكنك إنشاء مفاتيح متعددة لتطبيقات أو أعضاء فريق مختلفين.

البحث عن المفاتيح وتوليدها

لإدارة مفاتيح API الخاصة بك:

  1. سجّل الدخول إلى لوحة تحكم LLM Resayil
  2. انتقل إلى API Keys في الشريط الجانبي الأيسر
  3. انقر على "Generate New Key" لإنشاء مفتاح جديد
  4. سيظهر مفتاحك مرة واحدة فقط — انسخه فوراً واحفظه في مكان آمن

مهم: تُعرض مفاتيح API مرة واحدة فقط بعد إنشائها. إذا فقدت مفتاحك، ستحتاج إلى إنشاء مفتاح جديد. احفظ مفاتيحك في موقع آمن مثل مدير كلمات المرور.

تنسيق ترويسة التفويض

يجب أن يتضمن كل طلب إلى واجهة برمجة تطبيقات LLM Resayil ترويسة Authorization تحتوي على مفتاح API بتنسيق Bearer token. يجب تنسيق الترويسة بالضبط كما هو موضح أدناه:

Authorization Header
Authorization: Bearer YOUR_API_KEY

استبدل YOUR_API_KEY بمفتاح API الفعلي الخاص بك. يجب تضمين كلمة "Bearer" وهي حساسة لحالة الأحرف. يجب أن تفصل مسافة بين "Bearer" ومفتاحك.

أمثلة بلغات برمجية مختلفة

cURL — العنوان الأساسي المفضّل (متوافق مع OpenAI)

bash
curl -X POST https://llmapi.resayil.io/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "mistral", "messages": [{"role": "user", "content": "Hello"}]}'

cURL — العنوان القياسي البديل

bash
curl -X POST https://llmapi.resayil.io/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "mistral", "messages": [{"role": "user", "content": "Hello"}]}'

JavaScript (fetch):

javascript
const response = await fetch('https://llmapi.resayil.io/v1/chat/completions', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    model: 'mistral',
    messages: [{ role: 'user', content: 'Hello' }]
  })
});
const data = await response.json();

Python (requests):

python
import requests

response = requests.post(
  'https://llmapi.resayil.io/v1/chat/completions',
  headers={
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  json={
    'model': 'mistral',
    'messages': [{'role': 'user', 'content': 'Hello'}]
  }
)
data = response.json()

دورة حياة مفتاح API

إن فهم كيفية إدارة مفاتيح API أمر بالغ الأهمية للأمان واستمرارية العمليات.

توليد المفاتيح

عند توليد مفتاح API جديد:

  • ستشاهد المفتاح مرة واحدة فقط على شاشة التأكيد
  • انسخه واحفظه فوراً — لن تراه مجدداً
  • المفتاح نشط فوراً وجاهز للاستخدام
  • يمكن أن تكون عدة مفاتيح نشطة في وقت واحد

أفضل الممارسات لإدارة المفاتيح

  • لا تضعها في نظام التحكم بالإصدار: خزّن المفاتيح في متغيرات البيئة أو أدوات إدارة الأسرار، وليس في الكود أو ملفات .env المحفوظة في git.
  • استخدم مفاتيح مختلفة لتطبيقات مختلفة: أنشئ مفاتيح منفصلة لبيئات التطوير والاختبار والإنتاج.
  • دوّر المفاتيح بانتظام: حتى لو لم تتعرض للاختراق، قم بتدوير المفاتيح دورياً للحفاظ على الأمان.
  • استخدم الصلاحيات الأدنى: إذا أتاحت منصتك ذلك، استخدم مفاتيح ذات وصول محدود بدلاً من الوصول الكامل للحساب.
  • راقب استخدام المفاتيح: راجع بانتظام المفاتيح النشطة وألغِ غير المستخدمة منها.

إلغاء المفاتيح

إذا كنت تشك في تعرّض مفتاح للاختراق أو لم تعد بحاجة إليه:

  1. انتقل إلى API Keys في لوحة التحكم
  2. انقر على "Revoke" بجانب المفتاح الذي تريد تعطيله
  3. أكّد الإلغاء
  4. يتم تعطيل المفتاح فوراً ولا يمكن استخدامه لطلبات جديدة

بعد الإلغاء: أي طلبات تستخدم مفتاحاً ملغى ستُرجع خطأ 401 Unauthorized. إذا كنت تستخدم هذا المفتاح في الإنتاج، حدّث تطبيقك ليستخدم مفتاحاً جديداً قبل إلغاء المفتاح القديم.

معالجة أخطاء المصادقة

إذا فشلت عملية المصادقة، ستتلقى استجابة خطأ. إليك كيفية تشخيص مشكلات المصادقة الشائعة وإصلاحها:

رمز الحالة الخطأ السبب الحل
401 Unauthorized مفتاح API مفقود أو غير صالح أو بتنسيق خاطئ تحقق من وجود ترويسة Authorization وتنسيقها الصحيح. تحقق من أن مفتاح API لم يُلغَ.
401 Invalid API Key المفتاح المقدَّم غير موجود أو غير صالح أنشئ مفتاحاً جديداً من لوحة التحكم وحدّث تطبيقك.
401 Key Revoked تم إلغاء مفتاح API أنشئ مفتاحاً جديداً ونشره في تطبيقك.
403 Forbidden تمت المصادقة لكن غير مصرّح (حساب معلّق أو مشكلة في الطبقة) تحقق من حالة حسابك وطبقة اشتراكك في لوحة التحكم.

مثال على استجابة 401 Unauthorized

json — Error Response
{
  "error": {
    "code": "invalid_api_key",
    "message": "Invalid API key provided.",
    "type": "authentication_error"
  }
}

أفضل الممارسات الأمنية

1. متغيرات البيئة

احرص دائماً على تحميل مفتاح API من متغيرات البيئة، وليس من سلاسل مشفّرة أو ملفات ضبط:

python
import os
from openai import OpenAI

api_key = os.getenv('LLM_RESAYIL_API_KEY')

# Preferred: OpenAI-compatible shorthand
client = OpenAI(api_key=api_key, base_url='https://llmapi.resayil.io/v1')

# Alternative: dedicated API hostname
# client = OpenAI(api_key=api_key, base_url='https://llmapi.resayil.io/v1')

# Legacy: standard path (still supported)
# client = OpenAI(api_key=api_key, base_url='https://llmapi.resayil.io/v1')

2. HTTPS فقط

استخدم HTTPS دائماً عند التواصل مع واجهة برمجة تطبيقات LLM Resayil. لا ترسل مفاتيح API أبداً عبر اتصالات HTTP غير مشفّرة.

3. ترويسات طلب المصادقة

استخدم طريقة ترويسة Authorization الموضحة أعلاه. لا تمرر مفتاح API كمعامل استعلام.

4. التحكم في الوصول

حدّد أعضاء الفريق الذين يمكنهم الوصول إلى مفاتيح API. وفّر مفاتيح مختلفة لتطبيقات وأعضاء فريق مختلفين لتقليل الأثر في حالة اختراق أحد المفاتيح.

5. المراقبة والتنبيهات

راجع لوحة التحكم بانتظام بحثاً عن نشاط مريب. إذا لاحظت طلبات من عناوين IP غير متوقعة أو أنماط حركة غير معتادة، ألغِ المفتاح المعني فوراً.