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

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

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

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

  • الوصول إلى Firebase بالكامل

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

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

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

  • إعداد خادم مبسَّط

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

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

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

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

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

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

    باستخدام مجموعة أدوات الهوية، أنشأت التطبيقات حالة الجلسة الخاصة بها استنادًا إلى حدث المصادقة الأولي من مجموعة أدوات Identity. تستخدم مصادقة 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 Identity إلى مكوّنَين:

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

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

  • مصادقة FirebaseUI

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

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

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

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

قبل البدء

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

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

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

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

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

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

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

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

    1. يمكنك تثبيت وحدة Node.js في Firebase باستخدام 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 على الويب.

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

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

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

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

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

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

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

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

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

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

  • بلا عنوان SignOutUrl

    عليك الاتصال بـ firebase.auth.signOut() والتعامل مع معاودة الاتصال.

  • عنوان oobActionUrl غير متوفّر

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

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

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

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

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

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

  3. عند إجراء التعديلات أعلاه لأول مرة، قد تظل لديك مسارات رموز تعتمد على الرموز المميزة لمجموعة أدوات Identity. إذا كان لديك تطبيقات 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:

    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-services:

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

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

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

    compile 'com.google.firebase:firebase-auth:23.0.0'
    compile 'com.google.android.gms:play-services-auth:21.2.0'
    

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

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

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

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

  2. في تطبيقك، يمكنك استبدال عمليات الاتصال بحزمة تطوير البرامج (SDK) الخاصة بمجموعة أدوات Identity بالطلبات إلى 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) الخاصة بمجموعة أدوات Identity بالطلبات إلى FirebaseUI.