Apidog

منصة تطوير API تعاونية متكاملة

تصميم API

توثيق API

تصحيح أخطاء API

محاكاة API

اختبار API الآلي

كيفية تسجيل الدخول إلى مواقع الطرف الثالث باستخدام تويتر OAuth 2.0

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

Amir Hassan

Amir Hassan

Updated on نوفمبر 29, 2024

تدفق تفويض OAuth 2.0 الخاص بتويتر، المعروف باسم "رمز التفويض مع PKCE (مفتاح إثبات لتبادل الرموز)"، هو عملية مهمة لتكامل تسجيل دخول تويتر (الذي تم تغييره الآن إلى X) في مواقع الويب التابعة لأطراف ثالثة.

💡
Apidog هو منصة تطوير API شاملة توفر جميع الأدوات الضرورية لدورة حياة API بأكملها. مع الوظائف من البناء إلى التوثيق، لم تعد بحاجة للبحث عن تطبيق آخر عبر الإنترنت!

لتعلم والاستفادة من جميع المزايا التي يقدمها Apidog، انقر على الزر أدناه!
زر

تقدم هذه المقالة دليلًا شاملًا حول كيفية تنفيذ هذه العملية وتصحيح الأخطاء باستخدام Apidog. ابدأ بمفهوم OAuth 2.0 الأساسي.

Authorization Code Grant

ما هو OAuth 2.0؟

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

يشمل بروتوكول OAuth 2.0 الأدوار التالية:

  1. مالك المورد: عادةً ما يكون المستخدم، الذي يمتلك الموارد المحمية، مثل الصور، الملفات الشخصية، إلخ.
  2. العميل: التطبيق الثالث الذي يريد الوصول إلى موارد مالك المورد المحمي.
  3. خادم التفويض: الخادم المسؤول عن مصادقة مالك المورد وتفويض العميل للوصول إلى الموارد.
  4. خادم المورد: الخادم الذي يخزن الموارد المحمية ويقدم APIs للوصول إليها.

تدفقات التفويض الشائعة

يطبق بروتوكول OAuth 2.0 التفويض من خلال تدفقات تفويض مختلفة. تشمل تدفقات التفويض الشائعة:

  • منح رمز التفويض: يقوم العميل بإعادة توجيه المستخدم إلى خادم التفويض. بعد أن يقوم المستخدم بتسجيل الدخول ومنح الإذن، يعود خادم التفويض برمز تفويض إلى العميل. ثم يقوم العميل بتبادل رمز التفويض مع بيانات اعتماده للحصول على رمز الوصول.
  • منح رمز التفويض مع PKCE (مفتاح إثبات لتبادل الرموز): مشابه لتدفق رمز التفويض القياسي، لكن العميل يعزز الأمان من خلال استخدام PKCE.
  • منح بيانات اعتماد كلمة مرور مالك المورد: يقوم مالك المورد بتقديم اسم المستخدم وكلمة المرور مباشرةً للعميل. ثم يستخدم العميل هذه البيانات لطلب رمز وصول من خادم التفويض.
  • منح بيانات اعتماد العميل: يقوم العميل بطلب رمز وصول مباشرةً من خادم التفويض باستخدام بيانات اعتماده الخاصة. هذه التدفق مناسب للحالات التي يحتاج فيها العميل نفسه إلى الوصول إلى الموارد.
  • منح ضمني: يستخدم للحصول على رمز الوصول مباشرةً من العميل في تطبيق يعتمد على المتصفح. تُستخدم هذه التدفق عادةً لتطبيقات الواجهة الأمامية على الويب.

كيفية تسجيل الدخول إلى مواقع الويب التابعة لأطراف ثالثة باستخدام تويتر OAuth

الخطوة 1: الحصول على معرف العميل وسر العميل

أولاً، انتقل إلى مركز مطوري تويتر وأنشئ أو الوصول إلى حسابك. تابع لإنشاء تطبيق إذا لم يتم إنشاؤه تلقائيًا.

use auth set up

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

developer portal

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

app info

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

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

keys and tokens
Oauth 2.0 client IP and Clent and serect

الخطوة 2: الحصول على رمز الوصول

مع إعداد المتطلبات الأساسية، تابع للحصول على رمز الوصول. استخدم Apidog، وهو أداة قوية لتصحيح الأخطاء وإدارة API، لهذا العرض التوضيحي.

Apidog
زر
  1. قم بإنشاء طلب HTTP داخل Apidog واختر خيار OAuth 2.0 تحت "تعديل المستند -> المصادقة -> OAuth 2.0."
Auth

2. اختر وضع التفويض PKCE لأن تويتر يستخدم رمز التفويض مع PKCE.

3. قم بتكوين معرف العميل، سر العميل، وعنوان URL المعاد توجيهه الذي حصلت عليه من تويتر OAuth 2.0.

قم بتعيين عنوان URL طلب رمز التفويض إلى https://twitter.com/i/oauth2/authorize.

قم بتكوين معلمات إضافية مثل النطاق، طريقة تحدي الرمز، والحالة إذا لزم الأمر.

حدد عنوان URL طلب رمز الوصول على أنه https://api.twitter.com/2/oauth2/token.

انقر على "احصل على الرمز" لبدء عملية استرداد الرمز. تحقق باستخدام بيانات اعتماد تويتر الخاصة بك إذا طُلب منك ذلك.

Authorization
ملاحظة:

الخطوة 3: الوصول إلى الموارد المفتوحة باستخدام الرمز

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

الاستنتاج

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

يعتبر OAuth 2.0 بروتوكول تفويض قوي، حيث يستخدم تويتر تدفق رمز التفويض مع PKCE. تعمل أدوات مثل Apidog على تبسيط عملية مصادقة OAuth 2.0، مما يسهل استرداد الرموز والوصول إلى الموارد.

زر