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

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

ميزات جديدة

يتضمّن Identity Platform تحسينات كبيرة على الميزات مقارنةً بـ Google Identity Toolkit:

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

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

  • طرق مصادقة جديدة

    يتوافق Identity Platform مع معايير اتحاد المؤسسات، مثل SAML وOIDC، ما يتيح لك توسيع نطاق تطبيقات وخدمات SaaS. يتيح Identity Platform أيضًا إمكانية استخدام موفّرين مثل GitHub وMicrosoft وYahoo وغيرهم. يمكنك استخدام ميزة تسجيل الدخول بدون اسم لإنشاء رقم تعريف فريد للمستخدم بدون أن يضطر المستخدم إلى إجراء أي عملية تسجيل دخول أو اشتراك، ما يتيح لك إجراء طلبات واجهة برمجة التطبيقات المصادَق عليها كما تفعل مع مستخدم عادي. عندما يقرّر المستخدم الاشتراك في حساب، يتم الاحتفاظ بجميع الأنشطة باستخدام رقم تعريف المستخدم نفسه. ويكون ذلك مفيدًا في سيناريوهات مثل عربات التسوّق من جهة الخادم أو التطبيقات الأخرى التي تريد جذب المستخدم إليها قبل إرساله إلى مسار الاشتراك.

  • توسيع النطاق بثقة باستخدام اتفاقيات مستوى الخدمة والدعم من Google Cloud

    تم إنشاء Identity Platform على بنية أساسية موثوق بها من Google، ويقدّم اتفاقيات مستوى الخدمة والدعم من Google Cloud. ما يعني أنّه يمكنك توسيع نطاق خدمتك بثقة والاعتماد على Google لتوفير المرونة والتوافر وقابلية التوسّع التي تحتاج إليها.

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

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

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

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

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

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

  • حِزم SDK جديدة

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

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

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

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

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

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

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

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

    لا تتوفّر خدمتا Paypal وAOL. سيظل بإمكان المستخدمين الذين لديهم حسابات من موفّري الهوية هؤلاء تسجيل الدخول إلى تطبيقك باستخدام مسار استرداد كلمة المرور وإعداد كلمة مرور لحساباتهم.

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

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

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

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

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

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

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

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

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

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

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

  • حِزم SDK من جهة العميل والخادم

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

  • عنصر واجهة المستخدم

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

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

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

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

قبل البدء

قبل أن تتمكّن من نقل البيانات من Identity Toolkit إلى Identity Platform، عليك إجراء ما يلي:

  1. افتح Cloud Console واختَر مشروع Identity Toolkit.

  2. من Marketplace، انتقِل إلى Identity Platform وانقر على "تفعيل Identity Platform".

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

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

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

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

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

    1. يمكنك تثبيت حزمة Node.js Admin SDK باستخدام 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

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

هناك عدد من الاختلافات الإضافية في تنفيذ Identity Platform على الويب مقارنةً بـ Identity Toolkit.

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

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

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

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

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

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

  • عنصر واجهة مستخدم إدارة الحساب

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

  • زر/عنصر واجهة مستخدم تسجيل الدخول

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

  • لا يتوفّر signOutUrl

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

  • لا يتوفّر oobActionUrl

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

  • تخصيص CSS

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

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

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

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

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

يمكنك الاطّلاع على مرجع Web API.

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

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

    1. افتح مشروعك في الـ Cloud Console.
    2. في صفحة "الموفّرون "، انقر على تفاصيل إعداد التطبيق. يظهر مقتطف رمز يضبط Identity Platform.
    3. انسخ مقتطف الإعداد والصقه في صفحة الويب.
  2. أضِف عنصر واجهة مستخدم المصادقة إلى تطبيقك:

    <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. أزِل Identity Toolkit SDK من تطبيقك.

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

    1. بعد تسجيل الدخول بنجاح باستخدام Identity Platform، احصل على رمز تعريف الهوية عن طريق استدعاء firebase.auth().currentUser.getToken().

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

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

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

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

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

  1. في Cloud Console، افتح قسم "الموفّرون".

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

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

Android

الخطوة 1: إضافة Identity Platform إلى تطبيقك باستخدام Firebase

  1. افتح Cloud Console واختَر مشروع Identity Toolkit.

  2. في صفحة "الموفّرون"، انقر على تفاصيل إعداد التطبيق، ثم على علامة التبويب Android، ثم على البدء في Firebase. في مربّع الحوار "إضافة 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)، أضِف السطر التالي بعد المكوّن الإضافي لنظام Gradle المتوافق مع Android لتفعيل المكوّن الإضافي google-services:

    apply plugin: 'com.android.application'
    // Add this line
    apply plugin: 'com.google.gms.google-services'
    

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

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

    compile 'com.google.firebase:firebase-auth:24.2.0'
    compile 'com.google.android.gms:play-services-auth:21.6.0'
    

الخطوة 2: إزالة Identity Toolkit SDK

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

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

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

  2. في تطبيقك، استبدِل استدعاءات Identity Toolkit SDK باستدعاءات FirebaseUI.

iOS

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

  1. أضِف حزمة SDK من جهة العميل إلى تطبيقك عن طريق تنفيذ الأوامر التالية:

    $ cd your-project directory
    $ pod init
    $ pod 'Firebase'
    
  2. افتح Cloud Console واختَر مشروع Identity Toolkit.

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

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

الخطوة 2: إزالة Identity Toolkit SDK

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

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

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

  2. في تطبيقك، استبدِل استدعاءات Identity Toolkit SDK باستدعاءات FirebaseUI.