نقل البيانات من مجموعة أدوات الهوية من Google إلى مصادقة Firebase

تم طرح أحدث إصدار من Google Identity Toolkit باسم مصادقة Firebase. من الآن فصاعدًا، سيتم تجميد العمل على ميزات Identity Toolkit، وسيتم تطوير جميع الميزات الجديدة في "مصادقة Firebase". نشجّع مطوّري Identity Toolkit على الانتقال إلى "مصادقة Firebase" في أقرب وقت ممكن لتطبيقاتهم، مع العلم أنّ Identity Toolkit ستواصل العمل ولن يتم إيقافها نهائيًا بدون إشعار آخر.

ميزات جديدة

تتضمّن "مصادقة Firebase" بعض التحسينات المهمة على الميزات مقارنةً بـ Google Identity Toolkit:

  • الوصول إلى جميع ميزات Firebase

    ‫Firebase هو نظام أساسي للأجهزة الجوّالة يساعدك في تطوير تطبيقات عالية الجودة بسرعة، وتوسيع قاعدة المستخدمين، وتحقيق المزيد من الأرباح. تتكوّن Firebase من ميزات تكميلية يمكنك دمجها ومطابقتها لتناسب احتياجاتك، وتتضمّن بنية أساسية لما يلي: إحصاءات الأجهزة الجوّالة وخدمة المراسلة عبر السحابة الإلكترونية وقاعدة بيانات الوقت الفعلي وتخزين الملفات والاستضافة الثابتة والإعداد عن بُعد وإعداد تقارير الأعطال على الأجهزة الجوّالة واختبار Android.

  • واجهات المستخدم المعدَّلة

    لقد أعدنا إنشاء مسارات واجهة المستخدم بالكامل استنادًا إلى أحدث أبحاث تجربة المستخدم من Google. ويشمل ذلك استرداد كلمة المرور وربط الحسابات ومسارات توضيح الحسابات الجديدة أو الحالية التي غالبًا ما تستغرق وقتًا طويلاً في الترميز وتصحيح الأخطاء. وتتكامل هذه الواجهة مع ميزة Smart Lock لكلمات المرور على أجهزة Android، ما أدى إلى تحسين معدّل الإحالات الناجحة لعمليات تسجيل الدخول والاشتراك بشكل كبير في التطبيقات المشارِكة. يتيح أيضًا تعديل المظهر بسهولة ليتوافق مع تطبيقك، ولتوفير أقصى قدر من إمكانية التخصيص، تم توفير إصدارَي Android وiOS كبرنامج مفتوح المصدر.

  • إعداد الخادم بشكل مبسّط

    لقد سهّلنا على المطوّرين استخدام ميزة "مصادقة Firebase". من خلال Identity Toolkit، لاحظنا أنّ العديد من المطوّرين اختاروا عدم تنفيذ مسار استرداد البريد الإلكتروني، ما جعل من المستحيل على المستخدمين استرداد حساباتهم في حال نسيان كلمة المرور. يمكن لميزة "مصادقة Firebase" إرسال رسائل تأكيد عنوان البريد الإلكتروني وإعادة ضبط كلمة المرور وتغيير كلمة المرور إلى المستخدم، ويمكن تخصيص النص بسهولة للمستخدمين. بالإضافة إلى ذلك، لن تحتاج بعد الآن إلى استضافة تطبيقات واجهة المستخدم المصغّرة لاستضافة عمليات إعادة التوجيه وإكمال عمليات تغيير كلمة المرور.

  • وحدة تحكّم المشرف الجديدة

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

  • حِزم SDK الجديدة

    تتوفّر الآن جميع واجهات برمجة التطبيقات الخاصة بخادم Identity Toolkit بشكلٍ أصلي مع كل مكتبة من مكتبات العملاء (Android وiOS والويب). سيتمكّن المطوّرون من تسجيل دخول المستخدمين القدامى والمستخدمين الجدد وتسجيلهم، والوصول إلى خصائص المستخدمين، وربط الحسابات وتحديثها وحذفها، وإعادة ضبط كلمات المرور، والمزيد بدون الارتباط بواجهة مستخدم ثابتة. يمكنك إنشاء تجربة تسجيل الدخول بالكامل يدويًا استنادًا إلى واجهة برمجة التطبيقات هذه.

  • إدارة الجلسات في التطبيقات المتوافقة مع الأجهزة الجوّالة

    باستخدام Identity Toolkit، أنشأت التطبيقات حالة الجلسة الخاصة بها استنادًا إلى حدث المصادقة الأولي من Identity Toolkit. تستخدم Firebase Auth خدمة خلفية تأخذ الرمز المميز لإعادة التحميل، الذي تم إنشاؤه من حدث المصادقة، وتستبدله برموز مميزة للوصول لمدة ساعة لأنظمة Android وiOS وJavaScript. عندما يغيّر المستخدم كلمة المرور، لن تتمكّن الرموز المميزة لإعادة التحميل من إنشاء رموز دخول جديدة، وبالتالي سيتم إيقاف إمكانية الوصول إلى أن يعيد المستخدم المصادقة على ذلك الجهاز.

  • المصادقة المجهولة ومصادقة GitHub

    تتيح ميزة "مصادقة Firebase" نوعَين جديدَين من المصادقة: GitHub والمصادقة المجهولة الهوية. يمكن استخدام ميزة "تسجيل الدخول كمجهول" لإنشاء رقم تعريف مستخدم فريد بدون مطالبة المستخدم بإجراء أي عملية تسجيل دخول أو اشتراك. باستخدام مستخدم مجهول الهوية، يمكنك الآن إجراء طلبات بيانات من واجهة برمجة التطبيقات مصادق عليها، كما تفعل مع مستخدم عادي. عندما يقرر المستخدم الاشتراك في حساب، يتم الاحتفاظ بجميع الأنشطة باستخدام نفس رقم تعريف المستخدم. وهذا مفيد في حالات مثل سلة التسوق من جانب الخادم أو أي تطبيق تريد فيه إشراك المستخدم قبل إرساله من خلال تدفق الاشتراك.

الاختلافات في الميزات

بعض ميزات Identity Toolkit غير متاحة حاليًا في مصادقة Firebase، بينما تمت إعادة تصميم ميزات أخرى وتعمل بشكل مختلف. قد تختار عدم نقل البيانات على الفور إذا كانت هذه الميزات مهمة لتطبيقك. في كثير من الحالات، قد لا تكون هذه الميزات مهمة لتطبيقك أو قد تكون هناك بدائل سهلة تمكّنك من متابعة عملية النقل.

الاختلافات من جهة الخادم

لم تخضع خدمة Identity Toolkit الأساسية مع واجهات برمجة التطبيقات REST API الأساسية ومنطق التحقّق من الحساب وقاعدة بيانات المستخدمين الأساسية إلا لتحديثات بسيطة. ولكن تم تغيير بعض الميزات وطريقة دمج مصادقة Firebase في خدمتك.

  • موفّرو الهوية

    لا يتوفّر Paypal وAOL. Users with accounts from these IDPs can still sign in to your application with the password recovery flow and set up a password for their account.

  • مكتبات الخادم

    تتوفّر حاليًا حِزم SDK لمشرفي Firebase للغات Java وNode.js وPython وGo وC#‎.

  • الرسائل الإلكترونية المتعلّقة بإدارة الحساب

    يمكن إرسال رسائل إعادة ضبط كلمة المرور وتأكيد عنوان البريد الإلكتروني وتغيير عنوان البريد الإلكتروني من خلال Firebase أو من خادم البريد الإلكتروني الخاص بالمطوّر. في الوقت الحالي، توفّر نماذج الرسائل الإلكترونية في Firebase إمكانية تخصيص محدودة فقط.

  • تأكيد تغيير عنوان البريد الإلكتروني

    في Identity Toolkit، عندما يقرّر مستخدم تغيير عنوان بريده الإلكتروني، يتم إرسال رسالة إلكترونية إلى العنوان الجديد تتضمّن رابطًا لمواصلة عملية تغيير عنوان البريد الإلكتروني.

    يؤكّد Firebase تغيير عنوان البريد الإلكتروني من خلال إرسال رسالة إلكترونية لإبطال الإجراء إلى عنوان البريد الإلكتروني القديم مع رابط للتراجع عن التغيير.

  • طرح موفِّر الهوية

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

الاختلافات من جهة العميل

في Firebase، تنقسم الميزات التي توفّرها Google Identity Toolkit إلى مكوّنَين:

  • حِزم تطوير البرامج (SDK) لمصادقة Firebase

    في ميزة "مصادقة Firebase"، تم تجميع الوظائف التي توفّرها واجهة برمجة التطبيقات REST API الخاصة بمجموعة أدوات Identity Toolkit في حِزم تطوير البرامج (SDK) للعملاء المتاحة لأنظمة التشغيل Android وiOS وJavaScript. يمكنك استخدام حزمة SDK لتسجيل دخول المستخدمين وتسجيلهم، والوصول إلى معلومات ملف المستخدم الشخصي، وربط الحسابات وتحديثها وحذفها، وإعادة ضبط كلمات المرور باستخدام حزمة SDK للعميل بدلاً من التواصل مع خدمة الخلفية عبر طلبات REST.

  • FirebaseUI Auth

    تمت إعادة إنشاء جميع مسارات واجهة المستخدم التي تدير عمليات تسجيل الدخول والاشتراك واسترداد كلمة المرور وربط الحسابات باستخدام حِزم تطوير البرامج (SDK) الخاصة بخدمة Firebase Authentication. وتتوفّر كحِزم تطوير برامج (SDK) مفتوحة المصدر لنظامَي التشغيل iOS وAndroid لتمكينك من تخصيص المسارات بالكامل بطرق غير ممكنة باستخدام Identity Toolkit.

تشمل الاختلافات الإضافية ما يلي:

  • الجلسات ونقل البيانات

    بما أنّ الجلسات تتم إدارتها بشكل مختلف في Identity Toolkit و"مصادقة Firebase"، سيتم إنهاء جلسات المستخدمين الحالية عند ترقية حزمة تطوير البرامج (SDK)، وسيكون على المستخدمين تسجيل الدخول مرة أخرى.

قبل البدء

قبل نقل البيانات من Identity Toolkit إلى "مصادقة Firebase"، عليك

  1. افتح وحدة تحكُّم Firebase، ثم انقر على استيراد مشروع Google واختَر مشروع Identity Toolkit.

  2. انقر على > الأذونات لفتح صفحة "إدارة الهوية وإمكانية الوصول والمشرف".

  3. افتح حسابات الخدمة. يمكنك هنا الاطّلاع على حساب الخدمة الذي سبق لك إعداده لـ Identity Toolkit.

  4. بجانب حساب الخدمة، انقر على > إنشاء مفتاح. بعد ذلك، في مربّع الحوار إنشاء مفتاح خاص، اضبط نوع المفتاح على JSON وانقر على إنشاء. يتم تنزيل ملف JSON يحتوي على بيانات اعتماد حساب الخدمة. ستحتاج إلى ذلك لإعداد حزمة SDK في الخطوة التالية.

  5. ارجع إلى وحدة تحكُّم Firebase. في قسم Auth، افتح صفحة Email Templates (نماذج الرسائل الإلكترونية). في هذه الصفحة، يمكنك تخصيص نماذج الرسائل الإلكترونية لتطبيقك.

    في Identity Toolkit، عندما يعيد المستخدمون ضبط كلمات المرور ويغيّرون عناوين البريد الإلكتروني ويؤكّدون عناوين بريدهم الإلكتروني، عليك الحصول على رمز OOB من خادم Identity Toolkit، ثم إرسال الرمز إلى المستخدمين عبر البريد الإلكتروني. يرسل Firebase الرسائل الإلكترونية استنادًا إلى النماذج التي تضبطها بدون الحاجة إلى اتّخاذ أي إجراءات إضافية.

  6. اختياري: إذا كنت بحاجة إلى الوصول إلى خدمات Firebase على خادمك، ثبِّت حزمة تطوير البرامج (SDK) لمنصّة Firebase.

    1. يمكنك تثبيت وحدة Firebase Node.js باستخدام npm:

      $ npm init
      $ npm install --save firebase-admin
      
    2. في الرمز البرمجي، يمكنك الوصول إلى Firebase باستخدام:

      var admin = require('firebase-admin');
      var app = admin.initializeApp({
        credential: admin.credential.cert('path/to/serviceAccountCredentials.json')
      });
      

بعد ذلك، أكمِل خطوات نقل البيانات الخاصة بنظام تشغيل تطبيقك: Android أو iOS أو الويب.

الخوادم وJavaScript

التغييرات البارزة

هناك عدد من الاختلافات الإضافية في تنفيذ Firebase على الويب من Identity Toolkit.

  • إدارة جلسات الويب

    في السابق، عندما كان المستخدم يُجري مصادقة باستخدام أداة Identity Toolkit، كان يتم إعداد ملف تعريف ارتباط للمستخدم يُستخدم لبدء الجلسة. كانت مدة صلاحية ملف تعريف الارتباط هذا أسبوعين، وكان يُستخدم للسماح للمستخدم باستخدام تطبيق مصغّر لإدارة الحساب لتغيير كلمة المرور وعنوان البريد الإلكتروني. استخدمت بعض المواقع الإلكترونية ملف تعريف الارتباط هذا لمصادقة جميع طلبات الصفحات الأخرى على الموقع الإلكتروني. استخدمت المواقع الإلكترونية الأخرى ملف تعريف الارتباط لإنشاء ملفات تعريف الارتباط الخاصة بها من خلال نظام إدارة ملفات تعريف الارتباط الخاص بإطار العمل.

    تتولّى حزم تطوير البرامج (SDK) لعملاء Firebase الآن إدارة رموز تعريف Firebase المميّزة وتعمل مع الخلفية في "مصادقة Firebase" لإبقاء الجلسة نشطة. تنتهي صلاحية الجلسات في الخلفية عند حدوث تغييرات مهمة في الحساب (مثل تغييرات كلمة مرور المستخدم). لا يتم ضبط رموز Firebase المميّزة للتعريف تلقائيًا كملفات تعريف ارتباط على برنامج الويب، وتكون مدة صلاحيتها ساعة واحدة فقط. ما لم تكن تريد جلسات لمدة ساعة واحدة فقط، فإن رموز تعريف Firebase المميزة غير مناسبة لاستخدامها كملف تعريف ارتباط للتحقق من صحة جميع طلبات صفحتك. بدلاً من ذلك، عليك إعداد مستمع لتسجيل دخول المستخدم، والحصول على الرمز المميّز لمعرّف Firebase، والتحقّق من صحة الرمز المميّز، وإنشاء ملف تعريف الارتباط الخاص بك من خلال نظام إدارة ملفات تعريف الارتباط في إطار العمل.

    يجب ضبط مدة جلسة ملف تعريف الارتباط استنادًا إلى احتياجات الأمان في تطبيقك.

  • مسار تسجيل الدخول على الويب

    في السابق، كان يتم توجيه المستخدمين إلى accountchooser.com عند بدء عملية تسجيل الدخول لمعرفة المعرّف الذي يريد المستخدم استخدامه. يبدأ تدفق واجهة مستخدم Firebase Auth الآن بقائمة من طرق تسجيل الدخول، بما في ذلك خيار البريد الإلكتروني الذي ينتقل إلى accountchooser.com للويب ويستخدم hintRequest API على Android. بالإضافة إلى ذلك، لم تعُد عناوين البريد الإلكتروني مطلوبة في واجهة مستخدم Firebase. سيسهّل ذلك دعم المستخدمين المجهولي الهوية أو المستخدمين الذين يستخدمون المصادقة المخصّصة أو المستخدمين من مقدّمي الخدمات الذين لا يطلبون عناوين بريد إلكتروني.

  • تطبيق مصغّر لإدارة الحساب

    توفّر هذه الأداة واجهة مستخدم تتيح للمستخدمين تغيير عناوين البريد الإلكتروني أو تغيير كلمة المرور أو إلغاء ربط حساباتهم بموفّري الهوية. وهي قيد التطوير حاليًا.

  • زر/تطبيق مصغّر لتسجيل الدخول

    لم تعُد تتوفّر التطبيقات المصغّرة، مثل زر تسجيل الدخول وبطاقة المستخدم. ويمكن إنشاؤها بسهولة بالغة باستخدام واجهة برمجة التطبيقات مصادقة Firebase.

  • عدم توفّر signOutUrl

    عليك طلب firebase.auth.signOut() ومعالجة ردّ الاتصال.

  • No oobActionUrl

    تتم الآن معالجة إرسال الرسائل الإلكترونية من خلال Firebase ويتم ضبطها في وحدة تحكّم Firebase.

  • تخصيص CSS

    تستخدم FirebaseUI نمط Material Design Lite الذي يضيف بشكل ديناميكي تأثيرات حركية من Material Design.

الخطوة 1: تغيير رمز الخادم

  1. إذا كان الخادم يعتمد على رمز Identity Toolkit المميّز (صالح لمدة أسبوعين) لإدارة جلسات مستخدمي الويب، عليك تحويل الخادم لاستخدام ملف تعريف الارتباط للجلسة الخاص به.

    1. يجب تنفيذ نقطة نهاية للتحقّق من صحة رمز تعريف Firebase المميّز وضبط ملف تعريف الارتباط للجلسة للمستخدم. يرسل تطبيق العميل رمز Firebase المميّز للتعريف إلى نقطة النهاية هذه.
    2. إذا كان الطلب الوارد يحتوي على ملف تعريف الارتباط للجلسة، يمكنك اعتبار المستخدم مصادقًا عليه. وإلا، فتعامل مع الطلب على أنه غير مصادق عليه.
    3. إذا كنت لا تريد أن يفقد أي من المستخدمين جلسات تسجيل الدخول الحالية، عليك الانتظار لمدة أسبوعين حتى تنتهي صلاحية جميع رموز Identity Toolkit المميزة، أو إجراء عملية التحقّق من الرمز المميز المزدوج لتطبيق الويب كما هو موضّح أدناه في الخطوة 3.
  2. بعد ذلك، يجب تعديل منطق التحقّق من الرموز المميّزة لأنّ الرموز المميّزة في Firebase تختلف عن الرموز المميّزة في Identity Toolkit. ثبِّت حزمة تطوير البرامج (SDK) لخادم Firebase على خادمك، أو إذا كنت تستخدم لغة لا تتيحها حزمة تطوير البرامج (SDK) لخادم Firebase، نزِّل مكتبة التحقّق من الرمز المميّز لـ JWT لبيئتك وتحقَّق من الرمز المميّز بشكل صحيح.

  3. عند إجراء التعديلات المذكورة أعلاه لأول مرة، قد تظل لديك مسارات برمجية تعتمد على رموز Identity Toolkit المميّزة. إذا كان لديك تطبيقات iOS أو Android، سيحتاج المستخدمون إلى الترقية إلى الإصدار الجديد من التطبيق لكي تعمل المسارات البرمجية الجديدة. إذا كنت لا تريد فرض تحديث تطبيقك على المستخدمين، يمكنك إضافة منطق إضافي للتحقّق من الخادم يفحص الرمز المميّز ويحدّد ما إذا كان يحتاج إلى استخدام Firebase SDK أو Identity Toolkit SDK للتحقّق من الرمز المميّز. إذا كان لديك تطبيق ويب فقط، سيتم نقل جميع طلبات المصادقة الجديدة إلى Firebase، وبالتالي لن تحتاج سوى إلى استخدام طرق التحقّق من الرموز المميّزة في Firebase.

يمكنك الاطّلاع على مرجع واجهة برمجة تطبيقات الويب في Firebase.

الخطوة 2: تعديل رمز HTML

  1. أضِف رمز إعداد Firebase إلى تطبيقك:

    1. افتح مشروعك في وحدة تحكُّم Firebase.
    2. في صفحة "نظرة عامة"، انقر على إضافة تطبيق، ثم انقر على إضافة Firebase إلى تطبيق الويب. سيظهر مقتطف رمز لإعداد Firebase.
    3. انسخ مقتطف الإعداد والصقه في صفحة الويب.
  2. أضِف FirebaseUI Auth إلى تطبيقك:

    <script src="https://www.gstatic.com/firebasejs/ui/live/0.4/firebase-ui-auth.js"></script>
    <link type="text/css" rel="stylesheet" href="https://www.gstatic.com/firebasejs/ui/live/0.4/firebase-ui-auth.css" />
    <!-- *******************************************************************************************
       * TODO(DEVELOPER): Paste the initialization snippet from:
       * Firebase Console > Overview > Add Firebase to your web app. *
       ***************************************************************************************** -->
    <script type="text/javascript">
      // FirebaseUI config.
      var uiConfig = {
        'signInSuccessUrl': '<url-to-redirect-to-on-success>',
        'signInOptions': [
          // Leave the lines as is for the providers you want to offer your users.
          firebase.auth.GoogleAuthProvider.PROVIDER_ID,
          firebase.auth.FacebookAuthProvider.PROVIDER_ID,
          firebase.auth.TwitterAuthProvider.PROVIDER_ID,
          firebase.auth.GithubAuthProvider.PROVIDER_ID,
          firebase.auth.EmailAuthProvider.PROVIDER_ID
        ],
        // Terms of service url.
        'tosUrl': '<your-tos-url>',
      };
    
      // Initialize the FirebaseUI Widget using Firebase.
      var ui = new firebaseui.auth.AuthUI(firebase.auth());
      // The start method will wait until the DOM is loaded.
      ui.start('#firebaseui-auth-container', uiConfig);
    </script>
    
  3. يجب إزالة حزمة تطوير البرامج (SDK) لخدمة Identity Toolkit من تطبيقك.

  4. إذا كنت تعتمد على الرمز المميّز لتعريف Identity Toolkit لإدارة الجلسات، عليك إجراء التغييرات التالية من جهة العميل:

    1. بعد تسجيل الدخول بنجاح باستخدام Firebase، يمكنك الحصول على رمز مميّز لتعريف Firebase من خلال طلب firebase.auth().currentUser.getToken().

    2. أرسِل الرمز المميّز لرقم تعريف Firebase إلى خادم الخلفية، وتحقَّق من صحته، وأصدِر ملف تعريف الارتباط للجلسة.

      لا تعتمد فقط على ملف تعريف الارتباط للجلسة عند تنفيذ عمليات حساسة أو إرسال طلبات تعديل مصادق عليها إلى الخادم. ستحتاج إلى توفير حماية إضافية ضد تزوير الطلبات من موقع إلكتروني مختلف (CSRF).

      إذا لم يوفّر إطار العمل حماية من هجمات CSRF، يمكنك منع الهجمات من خلال الحصول على رمز مميّز لتعريف Firebase للمستخدم الذي سجّل الدخول باستخدام getToken() وتضمين الرمز المميّز مع كل طلب (سيتم أيضًا إرسال ملف تعريف الارتباط للجلسة تلقائيًا). بعد ذلك، يمكنك التحقق من صحة هذا الرمز المميز باستخدام حزمة تطوير البرامج (SDK) لخادم Firebase بالإضافة إلى التحقق من ملف تعريف الارتباط للجلسة، الذي أكمله إطار عمل الواجهة الخلفية. سيؤدي ذلك إلى زيادة صعوبة نجاح هجمات CSRF، لأنّ رمز Firebase المميز للتعريف يتم تخزينه فقط باستخدام مساحة تخزين الويب وليس في ملف تعريف ارتباط.

    3. تكون رموز Identity Toolkit المميّزة صالحة لمدة أسبوعين. قد ترغب في مواصلة إصدار الرموز المميزة التي تستمر لمدة أسبوعين، أو قد ترغب في جعلها أطول أو أقصر بناءً على متطلبات الأمان الخاصة بتطبيقك. عندما يقوم المستخدم بتسجيل الخروج، قم بمسح ملف تعريف الارتباط للجلسة.

الخطوة 3: تعديل عناوين URL لإعادة التوجيه الخاصة بموفِّر الهوية

  1. في وحدة تحكُّم Firebase، افتح قسم "المصادقة" وانقر على علامة التبويب طريقة تسجيل الدخول.

  2. لكل موفّر خدمة تسجيل دخول موحّد تتيحه، اتّبِع الخطوات التالية:

    1. انقر على اسم مقدّم خدمة تسجيل الدخول.
    2. انسخ معرّف الموارد المنتظم (URI) الخاص بإعادة التوجيه عبر OAuth.
    3. في وحدة تحكّم المطوّرين الخاصة بموفّر خدمة تسجيل الدخول، عدِّل عنوان URI لإعادة التوجيه عبر OAuth.

Android

الخطوة 1: إضافة Firebase إلى تطبيقك

  1. افتح وحدة تحكُّم Firebase، واختَر مشروع Identity Toolkit الذي سبق لك استيراده.

  2. في صفحة "نظرة عامة"، انقر على إضافة تطبيق، ثم انقر على إضافة Firebase إلى تطبيق Android. في مربّع الحوار "إضافة Firebase"، أدخِل اسم حزمة تطبيقك والملف المرجعي لشهادة التوقيع، ثم انقر على إضافة تطبيق. يتم بعد ذلك تنزيل ملف الإعداد google-services.json على جهاز الكمبيوتر.

  3. انسخ ملف الإعداد إلى الدليل الجذري في وحدة تطبيق Android. يحتوي ملف الإعداد هذا على معلومات عن المشروع وعميل Google OAuth.

  4. في ملف build.gradle على مستوى المشروع (<var>your-project</var>/build.gradle)، حدِّد اسم حزمة تطبيقك في قسم defaultConfig:

    defaultConfig {
       …..
      applicationId "com.your-app"
    }
    
  5. في ملف build.gradle على مستوى المشروع أيضًا، أضِف تبعية لتضمين المكوّن الإضافي google-services:

    buildscript {
     dependencies {
       // Add this line
       classpath 'com.google.gms:google-services:3.0.0'
     }
    }
    
  6. في ملف build.gradle على مستوى التطبيق (<var>my-project</var>/<var>app-module</var>/build.gradle)، أضِف السطر التالي في أسفل الملف لتفعيل المكوّن الإضافي لخدمات Google:

    // Add to the bottom of the file
    apply plugin: 'com.google.gms.google-services'
    

    يستخدم المكوّن الإضافي google-services ملف google-services.json لضبط تطبيقك لاستخدام Firebase.

  7. في ملف build.gradle على مستوى التطبيق أيضًا، أضِف تبعية &quot;مصادقة Firebase&quot;:

    compile 'com.google.firebase:firebase-auth:25.0.0'
    compile 'com.google.android.gms:play-services-auth:22.0.0'
    

الخطوة 2: إزالة حزمة تطوير البرامج (SDK) لخدمة Identity Toolkit

  1. أزِل إعدادات Identity Toolkit من ملف AndroidManifest.xml. يتم تضمين هذه المعلومات في ملف google-service.json ويتم تحميلها من خلال المكوّن الإضافي google-services.
  2. يجب إزالة حزمة تطوير البرامج (SDK) لخدمة Identity Toolkit من تطبيقك.

الخطوة 3: إضافة FirebaseUI إلى تطبيقك

  1. أضِف FirebaseUI Auth إلى تطبيقك.

  2. في تطبيقك، استبدِل الطلبات المرسَلة إلى حزمة تطوير البرامج (SDK) لخدمة Identity Toolkit بطلبات مرسَلة إلى FirebaseUI.

iOS

الخطوة 1: إضافة Firebase إلى تطبيقك

  1. أضِف حزمة تطوير البرامج (SDK) لمنصة Firebase إلى تطبيقك من خلال تنفيذ الأوامر التالية:

    $ cd your-project directory
    $ pod init
    $ pod 'Firebase'
    
  2. افتح وحدة تحكُّم Firebase، واختَر مشروع Identity Toolkit الذي سبق لك استيراده.

  3. في صفحة "نظرة عامة"، انقر على إضافة تطبيق، ثم انقر على إضافة Firebase إلى تطبيق iOS. في مربّع الحوار "إضافة Firebase"، أدخِل معرّف حزمة تطبيقك ومعرّف متجر التطبيقات، ثم انقر على إضافة تطبيق. يتم بعد ذلك تنزيل ملف الإعداد GoogleService-Info.plist على جهاز الكمبيوتر. إذا كان لديك عدة معرّفات حِزم في مشروعك، يجب ربط كل معرّف حزمة في وحدة تحكُّم Firebase ليكون له ملف GoogleService-Info.plist خاص به.

  4. انسخ ملف الإعداد إلى جذر مشروع Xcode وأضِفه إلى جميع الأهداف.

الخطوة 2: إزالة حزمة تطوير البرامج (SDK) لخدمة Identity Toolkit

  1. أزِل GoogleIdentityToolkit من ملف Podfile الخاص بتطبيقك.
  2. نفِّذ الأمر pod install.

الخطوة 3: إضافة FirebaseUI إلى تطبيقك

  1. أضِف FirebaseUI Auth إلى تطبيقك.

  2. في تطبيقك، استبدِل الطلبات المرسَلة إلى حزمة تطوير البرامج (SDK) لخدمة Identity Toolkit بطلبات مرسَلة إلى FirebaseUI.