الفرق بين OAuth2 وGraph API وتسجيل الدخول بكلمة مرور عادية
قوائم حسابات Outlook/Hotmail تحمل جميعها تقريبًا علامة OAuth2، وهذا ليس ترفًا من البائعين — بل لأن Microsoft أوقفت دعم المصادقة الأساسية (Basic Authentication) لحسابات البريد الاستهلاكية. سنشرح ما هما OAuth2 وGraph API، وكيف تقرأ العلامات في القوائم، وما هي حقول التسليم التي يجب التأكد منها قبل الطلب.
Avery Bennettعند تصفح قوائم حسابات Outlook/Hotmail، تجد كل حساب تقريباً مُوسوماً بـ "OAuth2 [Graph]" أو "OAuth2 [IMAP/POP3]"، وتحتوي بيانات التسليم على حقول غير مألوفة مثل "refresh_token" و "client_id"، وهو أمر مختلف تماماً عن الصيغة البسيطة السابقة "البريد الإلكتروني:كلمة المرور". هذا ليس ابتكاراً من بائع معين، بل هو تغيير حقيقي في طريقة تسجيل الدخول من جانب Microsoft.
ملاحظة مهمة: تنص شروط خدمة معظم المنصات الرئيسية صراحةً على حظر بيع أو نقل الحسابات، وهذه المقالة لا تعني موافقة Microsoft على تداول الحسابات. تشرح المقالة فقط المعنى التقني لتصنيفات بروتوكولات تسجيل الدخول، ولا تشكل نصيحة للالتفاف على آليات الأمان الخاصة بالمنصة، والنطاق الوظيفي المحدد يخضع للوصف الموجود في صفحة المنتج.
الاتصال المباشر بكلمة المرور العادية لم يعد ممكناً من جانب Microsoft
وفقاً للإعلان الرسمي من Microsoft، اعتباراً من 16 سبتمبر 2024، توقفت حسابات البريد الإلكتروني الشخصية مثل Outlook.com وHotmail وLive.com عن دعم "المصادقة الأساسية" (Basic Authentication) – أي الطريقة التي تستخدم فيها تطبيقات الطرف الثالث أو البرامج النصية ببساطة "البريد الإلكتروني + كلمة المرور" لتسجيل الدخول مباشرة. الآن، لتتمكن أدوات الطرف الثالث من الوصول إلى هذه الحسابات البريدية، يجب أن تسلك بشكل أساسي مسار OAuth2 (الذي تسميه Microsoft "المصادقة الحديثة"). ولهذا السبب،几乎所有 قوائم Outlook/Hotmail الآن تُوسم بـ "OAuth2" بدلاً من كتابة "login:password" فقط.
ما هما OAuth2 و Graph API؟
| المصطلح | ما هو؟ | ماذا يحصل عليه الحساب؟ |
|---|---|---|
| OAuth2 | بروتوكول مصادقة حديث، يتم خلال عملية تسجيل الدخول استبدال رمز وصول (access token) له صلاحية زمنية، ولا يتم تسليم كلمة المرور نفسها مباشرة لأداة الطرف الثالث | access token (صالح لفترة قصيرة) + refresh token (لاستبداله بـ access token جديد) |
| Graph API | واجهة برمجة تطبيقات رسمية من Microsoft، يستخدمها البرنامج لاستدعاء هذه الواجهة باستخدام رمز OAuth2 لقراءة وكتابة البريد الإلكتروني والتقويم وغيرها من البيانات | البيانات التي يتم إرجاعها من استدعاء الواجهة، وليس اسم المستخدم أو كلمة المرور نفسيهما |
هذا هو نفس المنطق المتبع في جانب Gmail – لدى Gmail أيضاً مجموعة OAuth2 + Gmail API مماثلة. إذا كنت أكثر دراية بطريقة الاتصال من جانب Gmail، يمكنك الرجوع إلى مقالة الفرق بين تسجيل الدخول عبر الويب وIMAP وAPI في Gmail، فالآليات الأساسية لكلا الجانبين متشابهة، لكن هنا تم استبدالها بـ Graph API الخاصة بـ Microsoft.
كيف تقرأ التصنيفات في القوائم؟
- OAuth2 [Graph]: يدعم فقط الوصول عبر واجهة برمجة التطبيقات Graph API، ولا يستخدم طريقة IMAP/POP3 التقليدية لإرسال واستقبال البريد.
- OAuth2 [IMAP/POP3]: لا يزال بإمكانك استخدام عميل بريد إلكتروني لإرسال واستقبال البريد، ولكن بيانات تسجيل الدخول هي رموز OAuth2، وليست اسم المستخدم وكلمة المرور نفسيهما.
- OAuth2 [IMAP/POP3/GRAPH]: يدعم كلا طريقتي الوصول، ويمكن استخدامهما ضمن نفس نظام الرموز.
- "refresh_token" و "client_id" في بيانات التسليم: هذه هي بيانات الاعتماد الضرورية لتسجيل الدخول عبر OAuth2، وليست رموزاً مشوشة زائدة عن الحساب – فبدون أي منها، لن يتمكن البرنامج من استبدال رمز وصول جديد.
كيف تختار بين السيناريوهات الثلاثة النموذجية؟
- تسجيل الدخول يدوياً من حين لآخر لقراءة البريد: يكفي تسجيل الدخول عبر الويب مباشرة، ولا داعي للقلق بشأن مفاهيم OAuth2.
- استخدام عميل بريد إلكتروني أو برنامج نصي لاستلام رموز التحقق بشكل دوري: اختر حساباً يدعم "OAuth2 [IMAP/POP3]" أو كليهما، واضبط طريقة المصادقة في العميل على OAuth2.
- الحاجة إلى التكامل مع منتج رسمي واستدعاءات برمجية طويلة الأمد: اختر حساباً يدعم Graph API، واستخدم الرموز + استدعاءات الواجهة، مما يسهل إدارة نطاق الصلاحيات (scope) بشكل منفصل.
ما الذي يجب التأكد منه قبل الطلب؟
- ما هي تركيبة OAuth2 المحددة المذكورة في القائمة. الحسابات التي تدعم Graph فقط لا يمكن استخدامها مع عملاء IMAP العاديين، لذا اختر وفقاً لاستخدامك قبل الاختيار.
- هل بيانات التسليم كاملة؟ الصيغة الشائعة هي المجموعة الرباعية: البريد الإلكتروني | كلمة المرور | refresh_token | client_id. نقص أي عنصر قد يؤدي إلى فشل استبدال رمز جديد لاحقاً، لذا تحقق من اكتمال الحقول فور استلام المنتج.
- كيف يتم التعامل مع انتهاء صلاحية refresh_token؟ اسأل مسبقاً عما إذا كان البائع يمكنه إصدار رمز جديد، أم أن الحساب نفسه يحتاج إلى إعادة عملية التفويض مرة أخرى، فدرجة صعوبة كل إجراء مختلفة.
القيود التي يجب معرفتها قبل الشراء
- قد تفقد رموز OAuth2 صلاحيتها بسبب تغيير كلمة مرور الحساب أو الفحوصات الأمنية وغيرها من الأسباب، وبعد انتهاء الصلاحية يلزم إعادة إنشائها أو تفويضها.
- طريقة الوصول التي يدعمها حساب معين تخضع للوصف الموجود في صفحة المنتج، وقد تتغير تبعاً لتعديلات سياسات Microsoft.
- يجب على المستخدم الالتزام بشروط خدمة Microsoft والقوانين المحلية.
الأسئلة الشائعة
هل أصبح من المستحيل تماماً الاتصال بـ Outlook/Hotmail باستخدام كلمة المرور العادية الآن؟ وفقاً للمعلومات العامة، أوقفت Microsoft دعم "المصادقة الأساسية" لحسابات البريد الإلكتروني الاستهلاكية، وتحتاج تطبيقات الطرف الثالث والبرامج النصية بشكل أساسي إلى OAuth2 للاتصال، ولكن الوضع الفعلي يخضع لدعم Microsoft الحالي.
هل تنتهي صلاحية refresh_token؟ نعم، إذا لم يتم استخدامه لفترة طويلة أو حدث تغيير متعلق بالأمان في الحساب (مثل تغيير كلمة المرور)، فقد يفقد refresh_token صلاحيته. بعد انتهاء الصلاحية، عادة ما يلزم إعادة عملية التفويض للحصول على رمز جديد.
هل يمكن استخدام نفس الحساب مع IMAP/POP3 و Graph API في نفس الوقت؟ إذا كان القائمة تشير إلى دعم كليهما، فعادةً ما يكون ذلك ممكناً، حيث تستخدم كل طريقة أسلوب استدعاء الرمز الخاص بها دون تعارض.
