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

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

ميزات جديدة

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

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

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

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

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

  • التوسّع بثقة من خلال اتفاقيات مستوى الخدمة ودعم السحابة الإلكترونية

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • حِزم SDK للعملاء والخوادم

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

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

    تمت إعادة إنشاء جميع مسارات واجهة المستخدم التي تدير تسجيل الدخول والاشتراك واسترداد كلمة المرور و ربط الحساب باستخدام حِزم تطوير البرامج (SDK) للعملاء وتم تجميعها في ملف APK لتطبيق مصغر لتسجيل الدخول. وتتوفّر هذه الحِزم كحِزم تطوير برامج (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، عندما يعيد المستخدمون ضبط كلمات المرور أو يغيّرون عناوين البريد الإلكتروني أو يؤكّدون عناوين بريدهم الإلكتروني، عليك الحصول على رمز خارج نطاق المؤسسة من خادم Identity Toolkit، ثم إرسال الرمز إلى المستخدمين عبر البريد الإلكتروني. تُرسِل Identity Platform رسائل إلكترونية استنادًا إلى النماذج التي تضبطها بدون الحاجة إلى اتخاذ أي إجراءات إضافية.

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

    1. يمكنك تثبيت حزمة SDK للمشرف في 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

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

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

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

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

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

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

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

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

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

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

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

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

  • لا يتوفّر signOutUrl

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

  • عدم توفّر oobActionUrl

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

  • تخصيص CSS

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

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

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

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

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

اطّلِع على مرجع 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. أزِل حزمة تطوير البرامج (SDK) لـ Identity Toolkit من تطبيقك.

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

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

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

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

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

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

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

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

    compile 'com.google.firebase:firebase-auth:23.1.0'
    compile 'com.google.android.gms:play-services-auth:21.3.0'
    

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

  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) للعميل إلى تطبيقك من خلال تنفيذ الأوامر التالية:

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

  3. في صفحة "الموفِّرون"، انقر على تفاصيل إعداد التطبيق، واختَر علامة التبويب iOS، ثمّ انقر على البدء في Firebase. في مربّع الحوار "إضافة Firebase"، قدِّم اسم حزمة تطبيقك ومعرف بصمة شهادة التوقيع، ثم انقر على إضافة تطبيق. بعد ذلك، يتم تنزيل ملف الإعداد google-services.json على جهاز الكمبيوتر. في مربّع الحوار "إضافة Firebase"، أدخِل رقم تعريف حِزمة تطبيقك ورقم تعريف متجر التطبيقات، ثم انقر على إضافة تطبيق. بعد ذلك، يتم تنزيل ملف الإعدادات 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. في تطبيقك، استبدِل طلبات البيانات إلى حزمة تطوير البرامج (SDK) لـ Identity Toolkit بطلبات البيانات إلى FirebaseUI.