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

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

الميزات الجديدة

تتضمن مصادقة Firebase بالفعل بعض التحسينات المهمة على الميزات عبر مجموعة أدوات الهوية من Google:

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

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

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

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

  • عملية إعداد مبسّطة للخادم

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

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

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

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

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

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

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

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

    تتوافق مصادقة Firebase مع نوعين جديدين من المصادقة، هما GitHub والمصادقة المجهولة. يمكن استخدام معلومات تسجيل الدخول مع إخفاء الهوية لإنشاء رقم تعريف مستخدم فريد بدون أن تطلب من المستخدم إجراء أي عملية تسجيل دخول أو اشتراك. يمكنك الآن استخدام مستخدم مجهول المصدر لإجراء طلبات بيانات من واجهة برمجة التطبيقات تمت مصادقتها، كما هو الحال مع أي مستخدم عادي. عندما يقرِّر المستخدم الاشتراك للحصول على حساب، يتم الاحتفاظ بجميع الأنشطة باستخدام رقم تعريف المستخدم نفسه. وهذا أمرٌ رائع في حالات مثل عربة التسوق من جهة الخادم أو أي تطبيق تريد أن يتفاعل فيه المستخدم قبل إرساله خلال تدفق الاشتراك.

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

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

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

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

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

    لا يتم دعم PayPal وAOL. سيظل بإمكان المستخدمين الذين لديهم حسابات من موفِّري الهوية (idP) تسجيل الدخول إلى تطبيقك من خلال اتّباع خطوات استرداد كلمة المرور وإعداد كلمة مرور لحساباتهم.

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

    تتوفر حاليًا حزم SDK لمشرف Firebase لبرامج Java وNode.js وPython وGo وC#.

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

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

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

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

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

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

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

الاختلافات من جانب العميل

في Firebase، يتم تقسيم الميزات التي توفّرها مجموعة أدوات الهوية من Google إلى مكوّنَين:

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

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

  • مصادقة FirebaseUI

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

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

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

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

قبل البدء

قبل نقل البيانات من "مجموعة أدوات الهوية" إلى "مصادقة Firebase"، عليك:

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

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

  3. افتح حسابات الخدمة. يمكنك من هنا الاطّلاع على حساب الخدمة الذي ضبطته سابقًا لمجموعة أدوات الهوية.

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

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

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

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

    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 على الويب من "مجموعة أدوات الهوية"

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

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

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

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

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

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

  • أداة إدارة الحساب

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

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

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

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

    ستحتاج إلى الاتصال برقم firebase.auth.signOut() وطلب معاودة الاتصال.

  • لا oobActionUrl

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

  • تخصيص خدمة مقارنة الأسعار (CSS)

    تستخدم واجهة FirebaseUI التصميم Material Design Lite الذي يضيف الصور المتحركة بتصميم Material Design بشكل ديناميكي.

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

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

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

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

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

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

  1. إضافة رمز تهيئة Firebase إلى تطبيقك:

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

    <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) لمجموعة أدوات الهوية من تطبيقك.

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

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

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

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

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

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

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

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

  2. مع كل مقدِّم خدمة تسجيل دخول موحد توفِّره لك، يُرجى تنفيذ ما يلي:

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

Android

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

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

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

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

  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 ملف google-services.json لإعداد تطبيقك من أجل استخدام Firebase.

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

    compile 'com.google.firebase:firebase-auth:22.3.1'
    compile 'com.google.android.gms:play-services-auth:21.0.0'
    

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

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

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

  1. أضِف مصادقة FirebaseUI إلى تطبيقك.

  2. في تطبيقك، استبدِل طلبات البيانات إلى حزمة تطوير البرامج (SDK) لمجموعة أدوات الهوية باستدعاءات FirebaseUI.

iOS

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

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

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

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

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

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

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

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

  1. أضِف مصادقة FirebaseUI إلى تطبيقك.

  2. في تطبيقك، استبدِل طلبات البيانات إلى حزمة تطوير البرامج (SDK) لمجموعة أدوات الهوية باستدعاءات FirebaseUI.