في مايو 2016 ، أصدرنا أحدث إصدار من Google Identity Toolkit باسم Firebase Authentication ، وفي أبريل 2019 ، أصدرنا Google Cloud Identity Platform تشمل هذه المنتجات مجموعات تطوير البرامج (SDK) للعميل ، ومكتبات واجهة المستخدم مفتوحة المصدر ، وإدارة الجلسة ، وخدمة إرسال البريد الإلكتروني المتكاملة لتدفقات كلمات المرور المنسية.

في 30 يونيو 2020 ، ستتوقف حزم SDK الموثقة في هذه الصفحة وستتوقف صفحة إعداد واجهة برمجة التطبيقات عن العمل. ( https://identitytoolkit.googleapis.com/... و https://securetoken.googleapis.com/... نقاط النهاية ، المستخدمة بواسطة Identity Platform و Firebase Authentication.)

لترحيل مشروع حالي من Identity Toolkit ، راجع دليل ترحيل Identity Platform أو دليل ترحيل Firebase Authentication .

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

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

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

ميزات جديدة

تتضمن منصة الهوية تحسينات فعالة على مجموعة أدوات Google Identity:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • الجلسات والترحيل

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

قبل البدء

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

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

  2. من Marketplace، تصفح إلى Identity Platform وحدد 'Enable Identity Platform'

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

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

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

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

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

    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 أو web.

الخوادم وجافا سكريبت

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

هناك عدد من الاختلافات الإضافية في تنفيذ الويب لـ "منصة الهوية" من "مجموعة أدوات الهوية".

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

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

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

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

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

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

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

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

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

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

  • ما مِن عنوان SignOutUrl

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

  • ما مِن عنوان oobActionUrl

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

  • تخصيص CSS

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

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

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

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

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

راجع مرجع واجهة برمجة تطبيقات الويب.

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

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

    1. افتح مشروعك في Cloud Console.
    2. في صفحة providers، انقر على تفاصيل إعداد التطبيق. يتم عرض مقتطف شفرة يهيئ منصة الهوية.
    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. بعد تسجيل الدخول بنجاح باستخدام "منصة الهوية"، يمكنك الحصول على رمز مميّز من خلال الاتصال بالرقم firebase.auth().currentUser.getToken().

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

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

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

    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. يحتوي ملف التهيئة هذا على معلومات المشروع وعميل 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)، أضف السطر التالي بعد المكوّن الإضافي Android Gradle لتفعيل المكوّن الإضافي 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:21.1.0'
    compile 'com.google.android.gms:play-services-auth:20.4.1'
    

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

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

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

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

  2. في تطبيقك، استبدِل المكالمات بحزمة SDK لمجموعة أدوات Identity باستدعاءات واجهة 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"، قدِّم معرّف حزمة التطبيق ورقم تعريف App Store، ثم انقر على إضافة تطبيق. يتم بعد ذلك تنزيل ملف الإعداد GoogleService-Info.plist إلى الكمبيوتر. إذا كان لديك عدة معرّفات حِزم في مشروعك، يجب أن يكون كل رقم تعريف للحزمة مرتبطًا بوحدة تحكُّم Firebase حتى يكون لديه ملف GoogleService-Info.plist خاص به.

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

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

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

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

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

  2. في تطبيقك، استبدِل المكالمات بحزمة SDK لمجموعة أدوات Identity باستدعاءات واجهة FirebaseUI.