الإعدادMCP

مصادقة MCP عبر OAuth

يدعم Bob بروتوكول OAuth 2.1 لخوادم MCP التي تتطلب وصولًا منتدَبًا للمستخدم. يتولى Bob إدارة تدفق المصادقة تلقائيًا، بما في ذلك تجديد الـ token، دون الحاجة إلى إدارة الـ tokens يدويًا.

للاطلاع على إعداد MCP العام، راجع استخدام MCP في Bob.

نظرة عامة

تحتاج بعض خوادم MCP إلى التصرف نيابةً عنك كمستخدم، مثلًا لقراءة مستودعات GitHub أو الوصول إلى ملفات Google Drive. تستخدم هذه الخوادم OAuth 2.1 لطلب موافقتك قبل الوصول إلى أي بيانات.

يتولى Bob إدارة تدفق OAuth الكامل تلقائيًا. عند الاتصال بخادم يتطلب OAuth، يُوسَم الخادم بتحذير يشير إلى الحاجة للمصادقة في إعدادات MCP ويظهر زر مصادقة. انقر الزر لفتح تدفق التفويض في متصفحك. بعد منح التفويض، يدير Bob تخزين الـ token وتجديده دون خطوات يدوية إضافية.

يختلف هذا عن طرق المصادقة الثابتة مثل Bearer token في headers أو مفتاح API في env، والتي تناسب حسابات الخدمة أو الـ tokens التي لا تنتهي صلاحيتها. استخدم OAuth عندما:

  • يحتاج الخادم إلى الوصول إلى موارد مملوكة لحساب المستخدم الخاص بك
  • يُصدر خادم التفويض للخادم tokens قصيرة الأجل يجب تجديدها
  • تريد تجنب تخزين أسرار طويلة الأجل في ملفات إعداد MCP

كيف يعمل تدفق المصادقة

  1. تضيف خادم MCP مُفعَّل OAuth إلى ملف الإعداد (لا حاجة لبيانات اعتماد headers أو env)
  2. عند اتصال Bob بالخادم لأول مرة، يكتشف بيانات تفويض OAuth للخادم
  3. يفتح Bob موجه مصادقة في المتصفح يطلب منك تسجيل الدخول ومنح الموافقة
  4. بعد منح التفويض، يخزن Bob tokens الوصول والتجديد بأمان عبر الجلسات
  5. يُجدّد Bob tokens تلقائيًا قبل انتهاء صلاحيتها. لن تُطلب منك مرة أخرى إلا إذا فشل التجديد.
Bob IDE                     Authorization Server              MCP Server
   |                                |                               |
   |-- connect to server ---------->|                               |
   |<-- OAuth metadata (401) -------|                               |
   |-- open auth prompt ----------->|                               |
   |   (user signs in & consents)   |                               |
   |<-- authorization code ---------|                               |
   |-- exchange for tokens -------->|                               |
   |<-- access + refresh tokens ----|                               |
   |-- authenticated requests --------------------------------->    |
   |   (auto-refresh when needed)                                   |

إعداد خادم مُفعَّل OAuth

تُعلن خوادم MCP المُفعَّلة OAuth عن متطلبات التفويض تلقائيًا. في معظم الحالات تحتاج فقط إلى URL الخادم — حقول OAuth اختيارية. يدعم Bob أيضًا الخصائص الاختيارية التالية لـ OAuth:

  • oauth: اضبطه على false لتعطيل OAuth لخادم معين، أو true لتفعيله صراحةً
  • clientId: معرّف عميل OAuth، إذا طلبه خادم التفويض
  • clientSecret: سر عميل OAuth، إذا طلبه خادم التفويض
  • scope: قائمة نطاقات OAuth المطلوبة مفصولة بمسافات

مثال على الإعداد:

{
  "mcpServers": {
    "my-oauth-server": {
      "url": "https://your-server-url.com/mcp"
    }
  }
}

يكتشف Bob متطلب OAuth عند الاتصال ويبدأ التدفق. لا حاجة لبيانات اعتماد headers أو env.

تحذير:

إضافة header Authorization ثابت لخادم مُفعَّل OAuth يُعطّل OAuth التلقائي كليًا. لن يحاول Bob تدفق OAuth. وعلى العكس، عند تفعيل OAuth، يزيل Bob أي header Authorization ثابت قبل إرسال الطلبات. استخدم طريقة واحدة فقط.

المصادقة عند الطلب

عند اتصال Bob بخادم مُفعَّل OAuth لأول مرة:

  1. يظهر موجه مصادقة في بيئة التطوير
  2. راجع الصلاحيات التي يطلبها الخادم
  3. سجّل الدخول بالحساب المطلوب ومنح الموافقة
  4. يخزن Bob الـ tokens ويكمل الاتصال تلقائيًا

قد يظهر الموجه في نافذة متصفح أو webview مدمج، حسب خادم التفويض.

عرض حالة المصادقة وإدارتها

للتحقق من المصادقة أو إدارتها لخادم MCP:

  1. انقر أيقونة في لوحة Bob.
  2. اختر تبويب MCP.
  3. حدّد الخادم في القائمة.

تُظهر الخوادم المصادق عليها مؤشر حالة متصل. إذا انتهت صلاحية المصادقة أو أُلغيت، يعرض الخادم حالة خطأ.

لإعادة المصادقة: انقر بجانب الخادم لإعادة تشغيل الاتصال. يفتح Bob موجه المصادقة مرة أخرى.

استكشاف الأخطاء وإصلاحها

موجه المصادقة لا يظهر

  • تأكد من أن الخادم غير مُوسَم كمعطّل في إعدادك
  • أعد تشغيل الخادم من تبويب إعدادات MCP
  • تحقق من أن متصفحك أو webview لا يحجب صفحة التفويض

المصادقة تنجح لكن الخادم يفشل في الاتصال

  • تحقق من صحة URL الخادم وإمكانية الوصول إليه
  • تأكد من منحك جميع الصلاحيات المطلوبة أثناء خطوة الموافقة
  • راجع توثيق الخادم لأي متطلبات إعداد إضافية

Tokens تنتهي صلاحيتها بتكرار وتتطلب إعادة مصادقة

  • تأكد من أن خادم التفويض يدعم refresh tokens. بعض الخوادم تُصدر tokens وصول فقط بعمر قصير.
  • تحقق من دقة ساعة النظام، فانزياح الساعة قد يتسبب في انتهاء صلاحية token مبكرًا

تريد تسجيل الخروج أو تبديل الحسابات

إعادة تشغيل الخادم لا تمحو بيانات اعتماد OAuth. لتسجيل الخروج أو تبديل الحسابات، استخدم Reset auth من تبويب إعدادات MCP. يؤدي هذا إلى مسح الـ tokens المخزّنة وتشغيل موجه مصادقة جديد عند الاتصال التالي.

ما رأيك في هذا الموضوع؟