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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

الاختلافات من جانب الخادم

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

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

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

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

    في الوقت الحالي، تتوفر حزم SDK للمشرف لـ Java وNode.js وPython وGo وC#.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

قبل البدء

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

  1. افتَح Cloud Console واختَر مشروع مجموعة أدوات الهوية.

  2. من Marketplace، تصفّح للوصول إلى Identity Platform واختَر "Enable Identity Platform" (تفعيل نظام الهوية الأساسي).

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

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

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

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

  6. اختياري: إذا كنت بحاجة إلى الوصول إلى خدمات النظام الأساسي للهوية على خادمك، ثبِّت حزمة تطوير البرامج لمنصّة 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 من مجموعة أدوات الهوية.

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

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

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

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

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

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

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

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

  • زر/أداة تسجيل الدخول

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

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

    سيكون عليك الاتصال بفريق "firebase.auth.signOut()" وتولّي عملية معاودة الاتصال.

  • ما مِن oobActionUrl

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

  • تخصيص خدمة CSS

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

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

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

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

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

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

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

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

    1. افتح مشروعك في Cloud Console.
    2. في صفحة providers انقر على Application Setup Details (تفاصيل إعداد التطبيق). يتم عرض مقتطف رمز يعمل على إعداد 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) لمجموعة أدوات الهوية من تطبيقك.

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

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

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

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

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

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

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

  1. في Cloud Console، افتح قسم مقدمو الخدمات.

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

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

Android

الخطوة 1: إضافة منصّة الهوية إلى تطبيقك من خلال Firebase

  1. افتح Cloud Console، واختَر مشروع مجموعة أدوات الهوية.

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

    apply plugin: 'com.android.application'
    // Add this line
    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) للعميل إلى تطبيقك عن طريق تشغيل الأوامر التالية:

    $ cd your-project directory
    $ pod init
    $ pod 'Firebase'
    
  2. افتح Cloud Console، واختَر مشروع مجموعة أدوات الهوية.

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