العربية
  • GitHub
  • القبو السري
  • تخزين الرموز
  • OAuth
  • تسجيل دخول اجتماعي

# تطبيقات GitHub مقابل تطبيقات OAuth: اختر الاتصال المناسب بـ GitHub

قارن بين تطبيقات GitHub وتطبيقات OAuth لتكامل Logto. تعرف على الفروقات الرئيسية من حيث الأمان، الصلاحيات، إدارة الرموز، وافضل طريقة مصادقة GitHub تناسب تطبيقك.

Ran
Ran
Product & Design

توقف عن إضاعة أسابيع في مصادقة المستخدم
أطلق تطبيقات آمنة بشكل أسرع مع Logto. قم بدمج مصادقة المستخدم في دقائق وركز على منتجك الأساسي.
ابدأ الآن
Product screenshot

عند دمج مصادقة GitHub في تطبيق Logto الخاص بك، لديك خياران: تطبيقات GitHub أو تطبيقات GitHub OAuth. كلاهما يسمح بوظيفة "تسجيل الدخول باستخدام GitHub"، لكن لكلٍ منهما تجربة مختلفة جذريًا من حيث الأمان، إدارة الرموز والوصول إلى واجهات برمجة التطبيقات API. هذا الدليل سيساعدك في فهم الفروقات الرئيسية واختيار الطريقة الأنسب لحالتك.

خلفية: مساران للتكامل مع GitHub

توثيق Logto الحالي يرشدك إلى إعداد تطبيق GitHub OAuth لتسجيل الدخول الاجتماعي. هذا الخيار أبسط وأسهل ويعمل جيدًا للاحتياجات الأساسية للمصادقة. لكن تطبيقات GitHub هي النهج الحديث الموصى به من GitHub نفسه، حيث توفر ميزات أمان متقدمة وتحكم أكثر دقة بالصلاحيات.

تخيل الأمر بهذا الشكل: تطبيقات OAuth تشبه إعطاء شخص مفتاح رئيسي لمنزلك — يحصلون على وصول واسع بمجرد التفويض. أما تطبيقات GitHub فهي مثل نظام قفل ذكي بأكواد دخول لغرف مختلفة — يمكن للمستخدمين منح صلاحيات دقيقة لما يحتاجه تطبيقك بالضبط.

الفروقات الرئيسية بشكل مختصر

الصلاحيات: شاملة مقابل دقيقة

  • تطبيقات OAuth تستخدم صلاحيات واسعة — مثل طلب repo يمنح التحكم الكامل بالمستودع.
  • تطبيقات GitHub تستخدم صلاحيات دقيقة — يمكنك طلب "المسائل: قراءة فقط" بدون لمس الكود. كما يمكن للمستخدم اختيار مستودعات محددة أثناء التثبيت بدلاً من منح وصول شامل.

أمان الرمز: دائم مقابل مؤقت

  • تطبيقات OAuth تصدر رموزًا لا تنتهي صلاحيتها (إلا إذا تم إلغاؤها يدويًا) ولا يوجد آلية تحديث.
  • تطبيقات GitHub تستخدم رموز صالحة لفترة قصيرة (عادةً ساعة واحدة) مع دعم التحديث التلقائي — أكثر أمانًا للتطبيقات طويلة التشغيل.

الهوية: مستخدم مقابل بوت

  • تطبيقات OAuth تعمل دائماً باسم المستخدم المفوض (مثلاً @octocat) وتشارك حدود الطلب مع المستخدم (5,000 طلب/ساعة).
  • تطبيقات GitHub يمكن أن تتصرف بشكل مستقل كهوية بوت (مثل @my-app[bot]) وتستفيد من حدود طلبات قابلة للتوسع مع زيادة الاستخدام — مثالية للأتمتة.

التحكم في الوصول: كلي أو انتقائي

  • تطبيقات OAuth تتطلب تفويضًا واحدًا لجميع الموارد المتاحة.
  • تطبيقات GitHub تسمح للمستخدم بتثبيت التطبيق، اختيار مستودعات معينة، واستلام إشعارات ويب عند تغيّر الصلاحيات — مما يمنح شفافية وتحكمًا أفضل.

الاستمرارية: مرتبطة بالمستخدم مقابل مستقلة

  • تطبيقات OAuth تعتمد على المستخدم المفوض — إذا فقد هذا المطور الوصول أو غادر المنظمة، يتوقف التطبيق عن العمل.
  • تطبيقات GitHub تواصل العمل حتى إذا غادر المطوّر الذي ثبّت التطبيق منظمتك — تضمن استمرارية الخدمة للأتمتة والتكاملات.

أيهم تختار؟

كلا الخيارين (تطبيقات GitHub أو OAuth) يعملان بسلاسة مع الموصل الاجتماعي في Logto. القبو السري في Logto يخزن الرموز بأمان لكلا التكاملين، لكن كلٍ منهما يوفر تجربة مختلفة:

تسجيل دخول اجتماعي بسيط مع تطبيقات OAuth

إذا كنت تحتاج فقط مصادقة المستخدمين (تسجيل دخول مع GitHub) ولا تستخدم واجهات برمجة GitHub لاحقًا، فخيار تطبيق OAuth هو الأسرع:

  • إعداد بسيط: المستخدمون يفوّضون تطبيق OAuth ويسجلون الدخول عبر GitHub.
  • الرموز طويلة الأجل (لا توجد آلية تحديث): يمكن لـ Logto تخزين رمز الدخول في القبو السري، ولا توجد عملية تحديث — تظل الرموز صالحة حتى يتم إلغاؤها.
  • الأفضل عند الحاجة فقط لهوية المستخدم (الإيميل، الاسم، الصورة) وبدون أتمتة أو تنفيذ أوامر API.

لماذا تختار ذلك: الأسرع للتنفيذ للنماذج الأولية أو التطبيقات التي تتطلب تسجيل دخول فقط ومزامنة ملف شخصي بين الحين والآخر.

تكامل متقدم مع تطبيقات GitHub

اختر تطبيق GitHub عندما يحتاج تطبيقك وصولًا متواصلًا إلى واجهات GitHub، أتمتة في الخلفية، أو أمانًا مشددًا:

  • الصلاحيات الدقيقة واختيار المستودع لكل تثبيت يحتفظ بالوصول الأدنى ويمكن تدقيقه بسهولة.
  • الرموز قصيرة الأجل (عادةً ساعة) ويمكن أن توفر تطبيقات GitHub رموز تحديث؛ عند تمكين ذلك، يخزن Logto الرمزين (الدخول والتحديث) في القبو السري ويدير التحديث تلقائيًا ليواصل تطبيقك العمل دون الحاجة لإعادة تسجيل دخول المستخدم.
  • هوية التطبيق (البوت) تحسن التوثيق وحدود الطلب المعتمدة على الاستخدام تجعل الأتمتة موثوقة.

الأفضل لـ:

  • منصات SaaS التي تدير مستودعات GitHub نيابة عن المستخدم
  • وكلاء الذكاء الاصطناعي الذين يتفاعلون مع الكود أو المسائل أو طلبات السحب
  • التطبيقات التي تحتاج وصولاً مطولاً لواجهة API
  • أدوات مهام الأتمتة في الخلفية

إعداد تطبيق GitHub مع Logto

إعداد تطبيق GitHub يتبع نفس نمط OAuth مع بعض الفروق الرئيسية. التحويل من OAuth إلى GitHub App يتطلب مجهودًا بسيطًا.

إنشاء تطبيق GitHub

  1. انتقل إلى "إعدادات GitHub > إعدادات المطوّر > تطبيقات GitHub"

  2. اضغط "تطبيق GitHub جديد"

  3. قُم بالتهيئة:

    • اسم تطبيق GitHub: معرف تطبيقك الفريد
    • رابط الصفحة الرئيسية: موقع تطبيقك
    • رابط العودة: رابط العودة لموصل Logto الخاص بك (مماثل لتطبيق OAuth)
    • طلب تفويض المستخدم (OAuth) أثناء التثبيت: فعّل هذا الخيار
    • Webhook: اختياري حسب متطلباتك
    • الصلاحيات: اختر الصلاحيات الدقيقة (مثلاً "المسائل: قراءة")
    • صلاحيات المستخدم: أضف صلاحيات حساب إذا كان التطبيق يتصرف نيابة عن المستخدمين
  4. أنشئ سر العميل (مماثل لتطبيق OAuth)

integrate-github-apps.png

التهيئة في Logto

إعداد الموصل في Logto متشابه تقريبًا:

  1. أدخل معرّف العميل من تطبيق GitHub
  2. أضف سر العميل
  3. فعّل "تخزين الرموز للوصول الدائم إلى واجهة API" إذا كنت تحتاج لاستدعاء واجهات GitHub
  4. فرق رئيسي - النطاقات (scopes):
    • بخلاف تطبيقات OAuth (التي تتطلب إضافة النطاقات في حقل scopes داخل Logto)، صلاحيات التطبيقات لـ GitHub تُحدّد من إعدادات التطبيق نفسه.
    • فقط اترك حقل scope فارغًا في Logto
  5. طلب رمز التحديث (اختياري)
    • أضف offline_access في حقل scope داخل Logto لتمكين رموز التحديث
    • GitHub تلقائيًا يصدر رمز التحديث، ويدير Logto عملية التدوير والتخزين لكل الرموز في القبو السري
    • ملاحظة: تطبيقات OAuth لا تدعم رموز التحديث — رموز الدخول الخاصة بها لا تنتهي صلاحيتها، لذا offline_access لا ينطبق هنا. هذا يختلف عن تطبيقات GitHub.

integrate-github-connector-in-logto.png

الخلاصة

بينما لا تزال تطبيقات OAuth خيارًا صالحًا للمصادقة الأساسية، تمثل تطبيقات GitHub مستقبل التكاملات مع GitHub. تقدم أمانًا متفوقًا من خلال انتهاء صلاحية الرموز، نماذج أذونات أكثر دقة، وتحكم أكبر للمستخدم في الوصول.

بالنسبة لمستخدمي Logto، كلا الخيارين يعملان مع الموصل الاجتماعي. القرار يتوقف على احتياجاتك الخاصة:

  • ابدأ ببساطة مع تطبيقات OAuth إذا كنت بحاجة للمصادقة فقط
  • انتقل إلى تطبيقات GitHub عندما تحتاج واجهة API أو الأتمتة أو زيادة الأمان

وتذكر — قبو Logto السري وآلية التحديث التلقائي للرموز يجعل إدارة رموز تطبيق GitHub بسيطة كـ OAuth بدون تضحية بالأمان. سواء كنت تبني مساعد برمجة ذكي، منصة إدارة مشاريع أو أداة إنتاجية للمطورين، لديك الآن المعرفة لاختيار التكامل المناسب مع GitHub لتطبيقك على Logto.

مستعد للانطلاق؟ استعرض موصل GitHub الخاص بـ Logto وابدأ دمج المصادقة مع GitHub اليوم.

مصادر إضافية