لماذا قد يترك الإيقاف المؤقت وصولًا قائمًا
عندما تحتاج إلى إيقاف تكامل ما بسرعة، فالخطوة البديهية هي تعليقه أو إلغاء تثبيته. هذا يعالج جانب التثبيت. لكنه لا يعالج تلقائيًا جانب التفويض، وهو منح مختلف بمالك مختلف.
تعليق تطبيق GitHub المثبت يمنع مؤقتًا الوصول إلى الموارد المملوكة لحساب التثبيت هذا. المصدر
هذا التمييز مهم لأن تطبيق GitHub يمكن أن يحمل نوعين من الوصول في آن واحد: وصول التثبيت إلى موارد حساب ما، وتفويض المستخدم للتصرف نيابة عن شخص. إيقاف أحدهما لا يوقف الآخر.
التعليق لا يزيل التفويض المنفصل للتطبيق بالتصرف نيابة عن المستخدم. المصدر
وصول التثبيت مقابل تفويض المستخدم
استخدم هذا الجدول لتحديد الجانب الذي تحتاج فعلاً إلى تغييره.
| ما تريد إيقافه | الجانب الذي يجب فحصه | ما يفعله التعليق | ما لا يفعله |
|---|---|---|---|
| وصول التطبيق إلى الموارد المملوكة لحساب التثبيت | التثبيت على ذلك الحساب | يمنع مؤقتًا وصول ذلك التثبيت | لا يزيل تفويض المستخدم |
| تصرف التطبيق نيابة عن شخص | تطبيقات GitHub المفوّضة لذلك المستخدم | لا شيء بحد ذاته | لا يوقف تفويض المستخدم |
| كليهما، لحساب واحد | كلا الجانبين | يغطي جانب التثبيت فقط | يترك المنح الآخر قائمًا |
تطبيق GitHub ليس جلسة متصفح نشطة يمكنك تسجيل الخروج منها ببساطة. تعليق التثبيت هو تحكم على مستوى الحساب في الموارد؛ وإلغاء التفويض هو تحكم على مستوى المستخدم في التصرف المفوّض. يُدار كل منهما بشكل منفصل ويجب التحقق منهما بشكل منفصل.
قائمة تحقق عملية للإيقاف المؤقت
- حدد الهدف أولاً. قرر ما إذا كنت توقف وصول التطبيق إلى موارد حساب ما، أو توقفه عن التصرف نيابة عن مستخدم، أو كليهما. الإجابة تحدد الجانب الذي تتعامل معه.
- تعامل مع التثبيت. علّق التثبيت على الحساب الذي يملك الموارد التي تريد حمايتها. اعتبر هذا مؤقتًا وقابلاً للعكس.
- تحقق من جانب المستخدم بشكل منفصل. إذا كان التطبيق مفوّضًا بالتصرف نيابة عنك وتريد إيقاف ذلك، فانتقل إلى تطبيقات GitHub المفوّضة وألغِ تفويضه هناك. لا تفترض أن التعليق غطى هذا.
- سجّل ما غيرته وأين. دوّن أي حساب علّقت تثبيته وأي تفويض مستخدم أزلته، إن وجد. هذا يمنع تنظيفًا لاحقًا من تفويت أحد الأمرين.
- اعكس الإجراء بعناية. إذا كان الإيقاف مؤقتًا، فأعد تفعيل التثبيت فقط بعد التأكد مما إذا كان ينبغي أيضًا استعادة تفويض المستخدم.
إلغاء التثبيت أقوى من التعليق، لكنه لا يزال محدود النطاق
إذا لم يكن الإيقاف المؤقت كافيًا وتريد إزالة التثبيت، فإن إلغاء التثبيت هو الإجراء الأقوى على جانب التثبيت. لكنه لا يصل إلى تفويض المستخدم بحد ذاته.
إلغاء التثبيت يزيل وصول التثبيت لذلك الحساب؛ أما إلغاء التفويض في تطبيقات GitHub المفوّضة فهو إجراء منفصل عندما يريد المالك إيقاف تصرف التطبيق نيابة عنه. المصدر
النتيجة العملية: بعد إلغاء التثبيت، تحقق من تطبيقات GitHub المفوّضة إذا كان المالك يريد أيضًا أن يتوقف التطبيق عن التصرف نيابة عنه. إزالة اتصال واحد ليست دليلاً على أن الآخر قد زال، والتطبيق الذي لم يعد يظهر في مكان واحد قد يظل يحمل المنح الآخر.
مسارات الفشل الشائعة
- افتراض أن التعليق إلغاء كامل. إنه يمنع وصول التثبيت إلى الموارد فقط. يبقى تفويض المستخدم حتى تعالجه.
- اعتبار إلغاء التفويض إلغاءً للتثبيت. إلغاء التفويض يوقف تصرف التطبيق نيابة عنك، لكن التثبيت على حساب ما قد يبقى. حدد أيهما يتطلبه إيقافك فعلاً.
- تنظيف حساب ونسيان الآخر. التثبيتات تخص الحسابات؛ والتفويضات تخص المستخدمين. خطة إيقاف تذكر جانبًا واحدًا فقط عادةً ما تترك الآخر دون مساس.
- إعادة التفعيل مبكرًا. إذا علّقت بدلاً من أن تلغي التثبيت، فإن استعادة التثبيت قد تعيد وصول الموارد قبل أن تراجع جانب المستخدم.
التحقق من كلا الجانبين قبل اعتبار الأمر منتهيًا
لا يكتمل الإيقاف إلا بعد فحص كل جانب كنت تنوي تغييره وفق شروطه الخاصة. أكّد حالة التثبيت على الحساب المالك، ثم أكّد حالة التفويض ضمن تطبيقات GitHub المفوّضة للمستخدم المعني. لا تستنتج أحدهما من الآخر، ولا تصف التطبيق بأنه مسجّل الخروج — لم يكن قط جلسة متصفح.
إذا كانت مهمتك التالية إزالة منح OAuth قديم وتريد إبقاء ذلك منفصلاً عن جلسات تسجيل الدخول، فإن الدليل ذا الصلة حول إلغاء تفويض تطبيق GitHub OAuth قديم دون الخلط بينه وبين جلسة تسجيل الدخول يغطي خطوة التنظيف المختلفة تلك.