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

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

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

تم إدخال تحسينات مهمة على الميزات في مجموعة أدوات Google Identity، وهي:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    في الوقت الحالي، تتوفّر حزم تطوير البرامج (SDK) للمشرف للغة Java وNode.js وPython وGo وC#.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

قبل البدء

قبل أن تتمكّن من نقل البيانات من مجموعة أدوات الهوية إلى النظام الأساسي للهوية، عليك تنفيذ ما يلي:

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

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

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

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

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

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

  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 Platform من مجموعة أدوات Identity على الويب.

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

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

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

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

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

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

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

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

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

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

  • بلا عنوان SignOutUrl

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

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

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

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

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

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

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

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

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

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

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

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

    1. افتح مشروعك في Cloud Console.
    2. في صفحة الموفِّرون، انقر على تفاصيل إعداد التطبيق. يتم عرض مقتطف الرمز الذي يهيئ النظام الأساسي للهوية.
    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: إضافة Identity Platform إلى تطبيقك باستخدام Firebase

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

  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:

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

    $ 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: إزالة حزمة تطوير البرامج (SDK) لمجموعة أدوات الهوية

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

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

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

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