ما هو تفويض OAuth في الحقيقة
عندما تنقر على “Authorize” في تطبيق طرف ثالث، يسجّل GitHub تفويضًا: يمكن للتطبيق الآن التصرف نيابة عنك ضمن الأذونات التي وافقت عليها. ذلك التفويض ليس جلسة متصفحك، وليس مفتاح SSH، وليس تطبيق GitHub مثبّتًا بإعدادات تثبيت خاصة به. كل واحد من هذه يُلغى أو يُزال في مكان مختلف، لذا فإن الخطوة الأولى هي تحديد نوع الوصول الذي تنظر إليه فعليًا.
| ما تراه | ما هو | أين يُدار |
|---|---|---|
| تطبيق طرف ثالث مدرج مع نطاقات وافقت عليها | تفويض OAuth | Settings → Applications → Authorized OAuth Apps |
| زوج مفاتيح أضفته لـ Git عبر SSH | مفتاح SSH | Settings → SSH and GPG keys |
| أنت مسجّل الدخول في هذا المتصفح | جلسة تسجيل الدخول | تسجيل الخروج، أو صفحة الجلسات |
| تطبيق مثبّت على مستودع أو مؤسسة | تثبيت تطبيق GitHub | إعدادات التثبيت الخاصة بالتطبيق أو المؤسسة |
إذا لم يكن الإدخال الذي تنظر إليه تفويض OAuth، فإن إلغاءه من قائمة OAuth لن يعالجه.
لماذا تراجع قبل أن تلغي
قد يكون التفويض القديم لا يزال يؤدي شيئًا تعتمد عليه، مثل أداة نشر أو إضافة محرر أو تكامل CI. إلغاؤه يقطع وصول ذلك التطبيق عبر التفويض، وهذا هو المقصود، لكنه قد يعطّل أيضًا سير عمل لا يزال يعتمد عليه. راجع اسم التطبيق والأذونات المدرجة ومتى استخدمته آخر مرة قبل التصرف.
يوصي GitHub بمراجعة التطبيقات المصرّح لها، بما في ذلك التطبيقات التي لديها وصول إلى المستودعات الخاصة. المصدر
إذا لم تتعرف على التطبيق، أو كان الوصول الذي يملكه أوسع من المهمة التي يؤديها، فهذه هي الحالة التي تستدعي الإلغاء. وإذا كنت تتعرف عليه ولا تزال تستخدمه، ففكّر فيما إذا كانت النطاقات الحالية لا تزال مناسبة قبل أن تقرر.
قائمة تحقق قبل الإلغاء وبعده
استخدم هذا كسجل قصير حتى تتمكن من معرفة ما تغيّر والتراجع عن خطأ إذا لزم الأمر.
قبل الإلغاء
- دوّن اسم التطبيق والأذونات المعروضة له، حتى تتمكن من التعرف على الإدخال نفسه لاحقًا.
- تحقق مما إذا كان أي شيء تستخدمه حاليًا يعتمد على ذلك التطبيق: بناء، نشر، تسجيل دخول محرر، مهمة مجدولة.
- تأكد من أنك تنظر إلى Authorized OAuth Apps وليس إلى مفاتيح SSH أو الجلسات أو التطبيقات المثبّتة.
- قرر ما إذا كنت تريد إلغاء تفويض واحد محدد أو جميعها.
بعد الإلغاء
- أعد تحميل صفحة Authorized OAuth Apps وتأكد من أن الإدخال قد اختفى.
- شغّل سير العمل الذي استخدم التطبيق مرة واحدة، ولاحظ ما إذا كان يطلب منك الآن إعادة التفويض. ذلك الطلب هو العلامة المتوقعة على إزالة التفويض.
- إذا تعطّل سير عمل وما زلت بحاجة إليه، فأعد التفويض عن قصد وراجع النطاقات التي يطلبها.
- أبقِ طريقة استرداد حسابك في مكانها حتى تتأكد من أن شيئًا آخر لم يكن يعتمد على الوصول الملغى.
كيفية إلغاء التفويض
افتح إعدادات الحساب، ثم Applications ضمن Integrations، ثم Authorized OAuth Apps لمراجعة الوصول. المصدر
من القائمة، افتح القائمة الخاصة بالتطبيق الذي تريد إزالته.
يمكن إلغاء تفويض غير معروف أو قديم من قائمة التطبيق؛ وتوفر الصفحة أيضًا خيار Revoke all. المصدر
ألغِ الإدخال الواحد عندما تريد إزالة تطبيق واحد فقط. خيار Revoke all مخصص للحالات التي راجعت فيها القائمة وتريد مسح كل تفويض؛ وسيؤثر على كل تطبيق في تلك الصفحة، وليس فقط التطبيق الذي كنت تنظر إليه.
حدود الفشل التي يجب وضعها في الاعتبار
- الإلغاء ليس حذفًا. إزالة التفويض توقف الوصول المستقبلي عبره. وهي لا تزيل البيانات التي خزّنها التطبيق أو نسخها خارج GitHub بالفعل، وليست ضمانًا للمحو.
- الإلغاء ليس تسجيل خروج. جلسة متصفحك على GitHub منفصلة؛ إلغاء تطبيق لا يسجّلك الخروج، وتسجيل الخروج لا يلغي تفويضات التطبيقات.
- مفتاح SSH ليس تطبيق OAuth. إذا كان الوصول الذي تقلق بشأنه مفتاحًا، فإن إزالته تتم في إعدادات SSH and GPG keys، وليس في Authorized OAuth Apps.
- تطبيق GitHub المثبّت ليس الإدخال نفسه. يُدار الوصول على مستوى التثبيت حيث يكون التطبيق مثبّتًا، لذا تحقق هناك إذا لم يظهر التطبيق في قائمة OAuth.
- تطابق اسم مستخدم عام ليس دليلًا. إذا كنت تتحقق مما إذا كان اسم مستخدم يظهر في مكان آخر، فإن التطابق في ملف تعريف عام هو مؤشر، وليس دليلًا على الملكية. يمكن لـ TraceSeek البحث عن أسماء مستخدمين عامة معروفة عبر 3,000+ منصة، لكنه لا يستطيع مراجعة إعدادات GitHub أو إلغاءها نيابة عنك.
متى تعتبر التفويض مريبًا
لا تحتاج إلى قصة درامية للتصرف. الإشارات العملية هي: لا تتعرف على التطبيق، أو الأذونات أوسع من المهمة التي يؤديها، أو لا تتذكر أنك فوّضته. في تلك الحالات، يكون إلغاء الإدخال المحدد خطوة معقولة، يتبعها التحقق مما إذا كان أي شيء تعتمد عليه قد توقف عن العمل. وإذا تعطّل سير عمل، فأعد التفويض فقط بعد التأكد من أن التطبيق هو الذي تتوقعه وأن النطاقات تطابق ما يحتاجه.