في مايو 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 Platform و Firebase Authentication. ومن الآن فصاعدًا، سيتم إيقاف العمل والميزات في مجموعة أدوات الهوية، وسيتم إجراء جميع عمليات تطوير الميزات الجديدة على منصة Cloud Identity ومصادقة Firebase. نشجّع مطوّري مجموعة أدوات Identity على الانتقال إلى هذه الأنظمة الأساسية عندما يكون ذلك عمليًا لتطبيقاتهم.

ميزات جديدة

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

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

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

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

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

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

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

  • إمكانية الوصول إلى جميع خدمات Firebase

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    وتتوفّر حاليًا حِزم تطوير برامج (SDK) للمشرف لكل من Java وNode.js وPython وGo وC#.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

قبل البدء

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

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

  2. من السوق، انتقِل إلى Identity Platform وانقر على 'Enable Identity Platform'

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

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

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

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

  6. اختياري: إذا كنت بحاجة إلى الوصول إلى خدمات "منصة Identity" على خادمك، عليك تثبيت حزمة تطوير البرامج (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 وweb.

الخوادم وJavaScript

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

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

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

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

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

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

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

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

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

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

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

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

  • بدون SignOutUrl

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

  • بلا obActionUrl

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

  • تخصيص CSS

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

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

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

    1. بعد تسجيل الدخول بنجاح باستخدام منصة Identity، يمكنك الحصول على رمز مميز للهوية من خلال الاتصال بالرقم 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: إضافة منصة Identity إلى تطبيقك باستخدام 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.0.5'
    compile 'com.google.android.gms:play-services-auth:20.2.0'
    

الخطوة 2: إزالة SDK لمجموعة أدوات Identity

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

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

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

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

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

الخطوة 2: إزالة SDK لمجموعة أدوات Identity

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

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

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

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