Gateway

دلالات بيانات اعتماد المصادقة

يعرّف هذا المستند دلالات أهلية بيانات الاعتماد وحلّها المعتمدة والمستخدمة عبر:

  • resolveAuthProfileOrder
  • resolveApiKeyForProfile
  • models status --probe
  • doctor-auth

الهدف هو إبقاء سلوك وقت الاختيار وسلوك وقت التشغيل متوافقين.

رموز أسباب الفحص المستقرة

  • ok
  • excluded_by_auth_order
  • missing_credential
  • invalid_expires
  • expired
  • unresolved_ref
  • no_model

بيانات اعتماد الرمز المميز

تدعم بيانات اعتماد الرمز المميز (type: "token") القيمة المضمنة token و/أو tokenRef.

قواعد الأهلية

  1. يكون ملف تعريف الرمز المميز غير مؤهل عندما يكون كل من token وtokenRef غائبين.
  2. expires اختياري.
  3. إذا كان expires موجودًا، فيجب أن يكون عددًا منتهيًا أكبر من 0.
  4. إذا كان expires غير صالح (NaN أو 0 أو سالبًا أو غير منتهٍ أو من نوع خاطئ)، يكون ملف التعريف غير مؤهل مع invalid_expires.
  5. إذا كان expires في الماضي، يكون ملف التعريف غير مؤهل مع expired.
  6. لا يتجاوز tokenRef التحقق من expires.

قواعد الحل

  1. تطابق دلالات محلل الحل دلالات الأهلية لـ expires.
  2. بالنسبة إلى ملفات التعريف المؤهلة، يمكن حل مادة الرمز المميز من القيمة المضمنة أو من tokenRef.
  3. تنتج المراجع غير القابلة للحل unresolved_ref في مخرجات models status --probe.

قابلية نقل نسخة الوكيل

توريث مصادقة الوكيل يعمل بالقراءة العابرة. عندما لا يحتوي الوكيل على ملف تعريف محلي، يمكنه حل ملفات التعريف من مخزن الوكيل الافتراضي/الرئيسي في وقت التشغيل دون نسخ مادة الأسرار إلى ملف auth-profiles.json الخاص به.

تستخدم تدفقات النسخ الصريحة، مثل openclaw agents add، سياسة قابلية النقل هذه:

  • ملفات تعريف api_key قابلة للنقل ما لم تكن copyToAgents: false.
  • ملفات تعريف token قابلة للنقل ما لم تكن copyToAgents: false.
  • ملفات تعريف oauth ليست قابلة للنقل افتراضيًا لأن رموز التحديث يمكن أن تكون أحادية الاستخدام أو حساسة للتدوير.
  • يمكن لتدفقات OAuth المملوكة للمزوّد الاشتراك باستخدام copyToAgents: true فقط عندما تكون سلامة نسخ مادة التحديث عبر الوكلاء معروفة.

تبقى ملفات التعريف غير القابلة للنقل متاحة من خلال التوريث بالقراءة العابرة ما لم يسجل الوكيل الهدف الدخول بشكل منفصل وينشئ ملف تعريفه المحلي الخاص.

مسارات المصادقة الخاصة بالتكوين فقط

إدخالات auth.profiles ذات mode: "aws-sdk" هي بيانات وصفية للتوجيه، وليست بيانات اعتماد مخزنة. تكون صالحة عندما يستخدم المزوّد الهدف models.providers.<id>.auth: "aws-sdk" أو مسار AWS SDK لإعداد Amazon Bedrock المملوك لـ Plugin. قد تظهر معرفات ملفات التعريف هذه في auth.order وتجاوزات الجلسة حتى عندما لا يوجد إدخال مطابق في auth-profiles.json.

لا تكتب type: "aws-sdk" في auth-profiles.json. إذا كان تثبيت قديم يحتوي على مثل هذه العلامة، فإن openclaw doctor --fix ينقلها إلى auth.profiles ويزيل العلامة من مخزن بيانات الاعتماد.

تصفية ترتيب المصادقة الصريحة

  • عندما يتم تعيين auth.order.<provider> أو تجاوز ترتيب مخزن المصادقة لمزوّد، فإن models status --probe يفحص فقط معرفات ملفات التعريف التي تبقى في ترتيب المصادقة المحلول لذلك المزوّد.
  • لا تتم تجربة ملف تعريف مخزن لذلك المزوّد، لكنه محذوف من الترتيب الصريح، بشكل صامت لاحقًا. تبلغ مخرجات الفحص عنه مع reasonCode: excluded_by_auth_order والتفصيل Excluded by auth.order for this provider.

حل هدف الفحص

  • يمكن أن تأتي أهداف الفحص من ملفات تعريف المصادقة أو بيانات اعتماد البيئة أو models.json.
  • إذا كان لدى مزوّد بيانات اعتماد ولكن OpenClaw لا يستطيع حل مرشح نموذج قابل للفحص له، فإن models status --probe يبلغ status: no_model مع reasonCode: no_model.

اكتشاف بيانات اعتماد CLI الخارجية

  • لا تُكتشف بيانات الاعتماد الخاصة بوقت التشغيل فقط والمملوكة لواجهات CLI الخارجية إلا عندما يكون المزوّد أو وقت التشغيل أو ملف تعريف المصادقة داخل نطاق العملية الحالية، أو عندما يوجد بالفعل ملف تعريف محلي مخزن لذلك المصدر الخارجي.
  • ينبغي لمستدعي مخزن المصادقة اختيار وضع صريح لاكتشاف CLI الخارجية: none للمصادقة المستمرة/مصادقة Plugin فقط، أو existing لتحديث ملفات تعريف CLI الخارجية المخزنة بالفعل، أو scoped لمجموعة ملموسة من المزوّد/ملفات التعريف.
  • تمرر مسارات القراءة فقط/الحالة allowKeychainPrompt: false؛ فهي تستخدم بيانات اعتماد CLI الخارجية المدعومة بالملفات فقط ولا تقرأ نتائج macOS Keychain أو تعيد استخدامها.

حارس سياسة OAuth SecretRef

  • إدخال SecretRef مخصص لبيانات الاعتماد الثابتة فقط.
  • إذا كانت بيانات اعتماد ملف التعريف هي type: "oauth"، فإن كائنات SecretRef غير مدعومة لمادة بيانات اعتماد ملف التعريف تلك.
  • إذا كان auth.profiles.<id>.mode هو "oauth"، فيُرفض إدخال keyRef/tokenRef المدعوم من SecretRef لذلك الملف التعريفي.
  • تكون الانتهاكات حالات فشل صارمة في مسارات حل مصادقة بدء التشغيل/إعادة التحميل.

المراسلة المتوافقة مع القديم

للتوافق مع السكربتات، تبقي أخطاء الفحص هذا السطر الأول دون تغيير:

Auth profile credentials are missing or expired.

يمكن إضافة تفاصيل ملائمة للبشر ورموز أسباب مستقرة في الأسطر اللاحقة.

ذات صلة

Was this useful?
On this page

On this page