هل أنت مستعد لجعل تسجيل الدخول إلى موقعك الإلكتروني سهلًا؟ استعرض دليلنا خطوة بخطوة عن دمج Google OAuth 2.0 لتسجيل دخول المواقع الإلكترونية التابعة لجهات خارجية. سنرشدك خلال العملية، مما يجعل من السهل تعزيز تجربة المستخدم وزيادة الأمان.
قبل أن نبدأ، دعونا نفهم أولاً ما هو OAuth 2.0.
ما هو OAuth 2.0؟
OAuth 2.0 هو بروتوكول تفويض مفتوح المعيار يسمح للتطبيقات التابعة لجهات خارجية بالوصول إلى الموارد المحمية دون تقديم اسم المستخدم وكلمة المرور الخاصة بالمستخدم. يتيح للمستخدمين تفويض التطبيقات التابعة لجهات خارجية للوصول إلى مواردهم المحمية دون الكشف المباشر عن بيانات اعتمادهم. يتم استخدام OAuth 2.0 على نطاق واسع في تطبيقات الويب والهاتف المحمول لتوفير آلية تفويض آمنة.
يتضمن بروتوكول OAuth 2.0 الأدوار التالية:
- مالك المورد: عادة ما يكون المستخدم، الذي يمتلك الموارد المحمية، مثل الصور، والملفات الشخصية الشخصية، إلخ.
- العميل: التطبيق التابع لجهات خارجية الذي يريد الوصول إلى الموارد المحمية لمالك المورد.
- خادم التفويض: الخادم المسؤول عن التحقق من هوية مالك المورد ومنح الإذن للعميل للوصول إلى الموارد.
- خادم المورد: الخادم الذي يخزن الموارد المحمية ويوفر واجهات برمجة التطبيقات للوصول إليها.

يحقق بروتوكول OAuth 2.0 التفويض من خلال تدفق التفويض. تشمل تدفقات التفويض الشائعة:
- منح رمز التفويض: يعيد العميل توجيه المستخدم إلى خادم التفويض، يقوم المستخدم بتسجيل الدخول ومنح الإذن، ثم يعيد خادم التفويض رمز التفويض إلى العميل، الذي يستخدمه العميل بعد ذلك لتبادل الرمز للحصول على رمز وصول.
- منح بيانات اعتماد كلمة مرور مالك المورد: يقدم مالك المورد مباشرة اسم المستخدم وكلمة المرور للعميل، ويستخدم العميل هذه البيانات لطلب رمز وصول من خادم التفويض.
- منح بيانات اعتماد العميل: يستخدم العميل بيانات اعتماده الخاصة لطلب رمز وصول مباشرة من خادم التفويض، وهو مناسب للحالات التي يحتاج فيها العميل نفسه إلى الوصول إلى الموارد.
- المنح الضمني: يستخدم للحصول على رمز وصول مباشرة من العميل في تطبيق يعتمد على المتصفح.
مُنح Google OAuth 2.0 الضمني: التنفيذ وتصحيح الأخطاء باستخدام Apidog
تستخدم Google تدفق المنح الضمني لتفويض OAuth 2.0 على الويب، لذا دعونا نلقي نظرة على كيفية تنفيذ ذلك وكيفية تصحيحه في Apidog.
الخطوة 1: تكوين معرّف العميل وعنوان إعادة التوجيه
نحتاج أولاً إلى زيارة Google API Console للحصول على بيانات اعتماد OAuth 2.0. انقر على خيار "بيانات الاعتماد" في الشريط الجانبي الأيسر، ثم قم بإنشاء معرّف عميل OAuth.

ثم اختر نوع التطبيق الخاص بك، والذي يمكن أن يكون موقعًا إلكترونيًا أو تطبيق Android أو iOS، اعتمادًا على طبيعة عملك. بعد ذلك، في حقل "الأصول المعتمدة لجافا سكريبت"، أدخل نطاق موقعك الإلكتروني.
إذا كانت عملية تصحيح محلية، فعادة ما يتم تعيينها على http://localhost أو http://localhost:8000 إذا كان هناك منفذ. الهدف هو إعلام Google بمصدر HTTP الذي يستضيف موقعك. ثم، في حقل "عناوين إعادة التوجيه المصرح بها"، أدخل عنوان إعادة التوجيه الخاص بك، والذي يكون عادةً مسار تسجيل الدخول الخاص بك أو أي نطاق آخر يمكنك الوصول إليه.

بعد تكوين جميع الخيارات ذات الصلة، انقر على زر "إنشاء" لحفظها. سيؤدي ذلك إلى توليد معرّف العميل وسرية العميل، والتي سنحتاج إلى استخدامها لاحقًا.

الخطوة 2: تكوين صفحة طلب إذن OAuth
على الصفحة، انقر على خيار "شاشة موافقة OAuth" في الشريط الجانبي الأيسر لإنشاء تطبيق.

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

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

يمكنك أيضًا إضافة حساب اختبار، وهو حساب بريد إلكتروني يمكن أن يقوم بتسجيل دخول OAuth 2.0 قبل الإطلاق الرسمي، مع حد يصل إلى 100 مستخدم مسموح به.

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

الميزات الرئيسية لـ Apidog في تنفيذ تدفق تسجيل دخول Google OAuth 2.0:
- تكوين مبسط: يوفر Apidog واجهة تكوين مركزية، مما يسمح للمطورين بإدخال معرّف العميل، عنوان إعادة التوجيه، ومعلمات رئيسية أخرى بسهولة، دون الحاجة إلى بناء عناوين طلب التفويض المعقدة يدويًا.
- اختيار وضع التفويض الذكي: يدعم Apidog التعرف التلقائي على وضع تفويض Google ويوفر القدرة على اختيار وضع المنح الضمني، مما يلغي متاعب التبديل بين أوضاع التفويض المختلفة.
- اكتساب رمز الوصول بنقرة واحدة: يمكن أن يرشد Apidog المطورين خلال تدفق التفويض بالكامل ويكتسب رمز الوصول تلقائيًا، مما يقلل بشكل كبير من صعوبة الحصول على الرمز.
- إدارة الرموز التلقائية: سيضيف Apidog تلقائيًا رمز الوصول المستحوذ عليه إلى رأس الطلب أو معلمات الاستعلام، دون الحاجة إلى أن يقوم المطور بمعالجة نقل الرمز يدويًا.
- الوصول السلس إلى الموارد: باستخدام رمز الوصول المقدم من Apidog، يمكن للمطورين استخدامه مباشرة للوصول إلى موارد Google المفتوحة، دون الحاجة إلى تفويض معقد إضافي.
في Apidog، أنشئ مشروع HTTP جديد، ثم أنشئ طلبًا جديدًا واختر خيار "تحرير المستند -> التفويض -> OAuth 2.0".

اختر وضع التفويض "الضمني"، حيث يستخدم "OAuth 2.0 لتطبيقات الويب من جانب العميل" من Google المنح الضمنية.

أدخل معرّف العميل وعنوان إعادة التوجيه. هي معلمات خدمة Google OAuth 2.0 التي قمت بتكوينها في الخطوة الأولى.

الحصول على رمز الوصول
وفقًا لوثائق Google الرسمية، للطلب للحصول على رمز وصول، عنوان URL المطلوب هو:
https://accounts.google.com/o/oauth2/v2/auth
يمكنك ملء هذا العنوان في حقل إدخال "عنوان المصادقة".

تتطلب الوثائق الرسمية من Google أيضًا تضمين معلمات إضافية في مسار URL، مثل:
https://accounts.google.com/o/oauth2/v2/auth?
scope=https%3A//www.googleapis.com/auth/drive.metadata.readonly&
include_granted_scopes=true&
response_type=token&
state=state_parameter_passthrough_value&
redirect_uri=https%3A//oauth2.example.com/code&
client_id=client_id
ملاحظة: في التطبيقات الفعلية، لا حاجة إلى فواصل أسطر.
ومع ذلك، في Apidog، هذا عادةً ليس ضروريًا، حيث تم تكوين المعلمات المطلوبة بشكل منفصل في خيارات أخرى.
إذا كنت ترغب في تكوينها، يمكنك النقر على الرمز بجوار "عنوان المصادقة" للتكوين، أو النقر على "المزيد" لتوسيع عناصر التكوين الأخرى، مثل إضافة قيمة openid إلى "النطاق" هنا، وهو إذن تم اختياره في "الخطوة 2" أعلاه.

بعد إعداد جميع عناصر التكوين أعلاه، يمكنك النقر على زر "احصل على الرمز" للحصول على الرمز. بعد النقر، إذا كانت هذه هي المرة الأولى التي تسجل فيها الدخول، ستظهر نافذة لك للموافقة، ويمكنك ملء المعلومات.

بعد إدخال اسم المستخدم وكلمة المرور، قد تتلقى رمز تحقق عبر رسالة نصية للتحقق من حسابك، أو يمكنك ربط الحساب مباشرة والحصول على رمز الوصول.

بمجرد اكتمال التفويض، سيتم تلقائيًا الحصول على رمز الوصول وعرضه على الصفحة، وسيتم أيضًا تحليل المعلومات الأخرى التي ترجعها Google وعرضها.

الخطوة 4: الوصول إلى الموارد المفتوحة استنادًا إلى الرمز
باستخدام رمز الوصول الذي تم الحصول عليه، يمكنك الآن استخدامه للوصول إلى موارد Google المفتوحة. يمكنك استكشاف جميع واجهات برمجة التطبيقات المتاحة من Google ونطاقات الأذونات الخاصة بها في "ملعب OAuth 2.0".
عند إرسال الطلبات، سيقوم Apidog تلقائيًا بإرفاق الرمز إلى رأس التفويض كرمز حاملي. إذا كنت ترغب في تضمين الرمز في عنوان URL، يمكنك تعديل خيار "موضع إضافة الرمز" في إعدادات Apidog إلى "معلمات الاستعلام".

الخاتمة
باختصار، يتكون تنفيذ تسجيل دخول Google OAuth 2.0 من أربع خطوات رئيسية. أولاً، في الخطوة 1، تحتاج إلى تكوين معرّف العميل وعنوان إعادة التوجيه للحصول على بيانات اعتماد OAuth 2.0. ثم، في الخطوة 2، تحتاج إلى تحديد نطاق أذونات الوصول وإنشاء تطبيق، وتكوين المعلومات ذات الصلة، بما في ذلك الأذونات القابلة للوصول وحسابات الاختبار.
بعد ذلك، في الخطوة 3، يمكنك الحصول على رمز الوصول من خلال طلب الرمز، بمساعدة أداة مثل Apidog. أخيرًا، في الخطوة 4، يمكنك استخدام رمز الوصول الذي تم الحصول عليه للوصول إلى موارد Google المفتوحة.
