في مايو 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. نشجّع مطوّري برامج "مجموعة أدوات الهوية" على الانتقال إلى هذه المنصات فور إطلاقها عمليًا.

ميزات جديدة

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

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

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

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

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

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

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

  • إمكانية استخدام Firebase بالكامل

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

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

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

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

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

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

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

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

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

أوجه الاختلاف بين الميزات

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

قبل البدء

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

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

  2. من Marketplace، انتقِل إلى Identity Platform واختَر 'Enable Identity Platform'

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • لا يتوفّر عنوان oobActionUrl

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

  • تخصيص CSS

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

الخطوة 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، انقر على تفاصيل إعداد التطبيق. يتم عرض مقتطف الرمز الذي يُنشئ "منصة الهوية".
    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. إذا كنت تعتمد على الرمز المميز لرقم تعريف مجموعة أدوات Identity لإدارة الجلسات، عليك إجراء التغييرات التالية من جهة العميل:

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

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

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

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

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

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

  1. في Cloud Console، افتَح قسم المزوّدون.

  2. بالنسبة إلى كل مقدّم خدمة تسجيل دخول موحّد توفّره، عليك إجراء ما يلي:

    1. انقر على اسم مقدّم خدمة تسجيل الدخول.
    2. انسخ عنوان URL لإعادة التوجيه عبر 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 ملف google-services.json لإعداد تطبيقك لاستخدام Firebase.

  7. في ملف build.gradle على مستوى التطبيق، أضِف اعتمادية مصادقة Firebase:

    compile 'com.google.firebase:firebase-auth:21.0.8'
    compile 'com.google.android.gms:play-services-auth:20.3.0'
    

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

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

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

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

  2. في تطبيقك، استبدِل الطلبات إلى حزمة تطوير البرامج (SDK) لأداة Identity 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 Auth إلى تطبيقك.

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