تم إصدار أحدث إصدار من Google Identity Toolkit باسم Identity Platform وFirebase Authentication. من الآن فصاعدًا، سيتم إيقاف العمل على ميزات Identity Toolkit، وسيتم تطوير جميع الميزات الجديدة في Identity Platform وFirebase Authentication. ننصح مطوّري Identity Toolkit بالانتقال إلى هذه المنصات في أقرب وقت ممكن.
ميزات جديدة
تتضمّن Identity Platform تحسينات كبيرة على الميزات مقارنةً بـ Google Identity Toolkit، وهي:
وحدة تحكّم المشرف الجديدة
تتضمّن Identity Platform وحدة تحكّم جديدة للمطوّرين تتيح لك عرض المستخدمين وتعديلهم وحذفهم، ما قد يكون مفيدًا في تصحيح أخطاء عمليات تسجيل الدخول والاشتراك. تتيح لك وحدة التحكّم أيضًا ضبط طرق المصادقة وتخصيص نماذج الرسائل الإلكترونية.
طرق جديدة للمصادقة
تتوافق Identity Platform مع معايير الاتّحاد للمؤسسات، مثل 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 Toolkit، لاحظنا أنّ العديد من المطوّرين اختاروا عدم تنفيذ عملية استرداد الحساب عبر البريد الإلكتروني، ما جعل من المستحيل على المستخدمين استرداد حساباتهم في حال نسيان كلمة المرور. يمكن أن ترسل Identity Platform رسائل إلكترونية لتأكيد عنوان البريد الإلكتروني وإعادة ضبط كلمة المرور وإعلام المستخدم بتغييرها، ويمكن تخصيص نص الرسائل بسهولة للمستخدمين. بالإضافة إلى ذلك، لن تحتاج بعد الآن إلى استضافة عناصر واجهة المستخدم لاستضافة عمليات إعادة التوجيه وإكمال عمليات تغيير كلمة المرور.
حِزم SDK الجديدة
تتوفّر الآن جميع واجهات برمجة التطبيقات الخاصة بالخادم في Identity Toolkit بشكل أصلي مع كل مكتبة من مكتباتنا (Android وiOS والويب). سيتمكّن المطوّرون من تسجيل دخول المستخدمين الحاليين والجدد وإنشاء حسابات لهم، والوصول إلى خصائص المستخدمين، وربط الحسابات وتعديلها وحذفها، وإعادة ضبط كلمات المرور، وغير ذلك بدون أن يكونوا مرتبطين بواجهة مستخدم ثابتة. يمكنك إنشاء تجربة وخطوات تسجيل دخول كاملة يدويًا باستخدام واجهة برمجة التطبيقات هذه إذا أردت ذلك.
إدارة الجلسات للتطبيقات المتوافقة مع الأجهزة الجوّالة
باستخدام Identity Toolkit، أنشأت التطبيقات حالة الجلسة الخاصة بها استنادًا إلى حدث المصادقة الأوّلي من Identity Toolkit. تستخدم Identity Platform خدمة خلفية تأخذ رمزًا مميزًا لإعادة التحميل، تم إنشاؤه من حدث المصادقة، وتستبدله برموز مميزة للوصول لمدة ساعة على Android وiOS وJavaScript. عندما يغيّر المستخدم كلمة المرور، لن تتمكّن رموز إعادة التحميل من إنشاء رموز وصول جديدة، ما يؤدي إلى إيقاف إمكانية الوصول إلى أن يعيد المستخدم إثبات هويته على هذا الجهاز.
الاختلافات في الميزات
لا تتوفّر بعض ميزات Identity Toolkit حاليًا في Identity Platform، بينما تم إعادة تصميم ميزات أخرى وتعمل بشكل مختلف. يمكنك اختيار عدم نقل البيانات على الفور إذا كانت هذه الميزات مهمة لتطبيقك. وفي كثير من الحالات، قد لا تكون هذه الميزات مهمة لتطبيقك أو قد تتوفّر بدائل سهلة تتيح لك مواصلة عملية نقل البيانات.
الاختلافات من جهة الخادم
لم يتم إجراء سوى تحديثات بسيطة على خدمة Identity Toolkit الأساسية التي تتضمّن واجهات REST API الأساسية ومنطق التحقّق من صحة الحساب وقاعدة بيانات المستخدمين الأساسية. ومع ذلك، تغيّرت بعض الميزات وطريقة دمج Identity Platform في خدمتك.
موفّرو الهوية
لا تتوفّر خدمة Paypal وAOL. سيظل بإمكان المستخدمين الذين لديهم حسابات من موفّري خدمات تحديد الهوية هؤلاء تسجيل الدخول إلى تطبيقك باستخدام عملية استرداد كلمة المرور وإعداد كلمة مرور لحساباتهم.
مكتبات الخادم
تتوفّر حاليًا مجموعات SDK للمشرف للغات Java وNode.js وPython وGo وC#.
الرسائل الإلكترونية لإدارة الحساب
يمكن إجراء عمليات إعادة ضبط كلمة المرور وإثبات ملكية عنوان البريد الإلكتروني وتغييره من خلال Firebase أو من خادم البريد الخاص بالمطوّر. في الوقت الحالي، لا تتيح نماذج الرسائل الإلكترونية سوى تخصيص محدود من واجهة المستخدم، ولكن يمكن تخصيصها بشكل أكبر باستخدام حِزم SDK للمشرف.
تأكيد تغيير عنوان البريد الإلكتروني
في Identity Toolkit، عندما يقرّر المستخدم تغيير عنوان بريده الإلكتروني، يتم إرسال رسالة إلكترونية إلى العنوان الجديد تتضمّن رابطًا لمواصلة عملية تغيير عنوان البريد الإلكتروني.
تؤكّد Firebase تغيير عنوان البريد الإلكتروني من خلال إرسال رسالة إلكترونية لإبطال التغيير إلى عنوان البريد الإلكتروني القديم تتضمّن رابطًا للعودة إلى العنوان القديم.
طرح ميزة "التعرّف على المستند"
كانت Identity Toolkit تتيح إضافة موفّري الهوية إلى نظام تسجيل الدخول بشكل تدريجي، ما يتيح لك تجربة تأثير ذلك في طلبات الدعم. تمت إزالة هذه الميزة في خدمة "المصادقة عبر Firebase".
الاختلافات من جهة العميل
في Identity Platform، يتم تقسيم الميزات التي توفّرها Google Identity Toolkit إلى مكوّنَين:
حِزم تطوير البرامج (SDK) الخاصة بالعميل والخادم
في Identity Platform، تم تجميع الوظائف التي توفّرها واجهة برمجة التطبيقات REST الخاصة بـ Identity Toolkit في حِزم SDK للعملاء متاحة لأنظمة التشغيل Android وiOS وJavaScript. يمكنك استخدام حزمة SDK لتسجيل الدخول وتسجيل المستخدمين، والوصول إلى معلومات الملف الشخصي للمستخدم، وربط الحسابات وتعديلها وحذفها، وإعادة ضبط كلمات المرور باستخدام حزمة SDK الخاصة بالعميل بدلاً من التواصل مع خدمة الخلفية من خلال طلبات REST.
أداة واجهة المستخدم
تمت إعادة إنشاء جميع مسارات واجهة المستخدم التي تدير عمليات تسجيل الدخول والاشتراك واسترداد كلمة المرور وربط الحسابات باستخدام حِزم تطوير البرامج (SDK) الخاصة بالعميل، وتم تجميعها في أداة تسجيل دخول. تتوفّر هذه الحزم كحِزم SDK مفتوحة المصدر لأنظمة التشغيل iOS وAndroid والويب، وتتيح لك تخصيص المسارات بالكامل بطرق لا يمكن تنفيذها باستخدام Identity Toolkit.
تشمل الاختلافات الإضافية ما يلي:
الجلسات ونقل البيانات
بما أنّ الجلسات تتم إدارتها بشكل مختلف في Identity Toolkit وIdentity Platform، سيتم إنهاء الجلسات الحالية للمستخدمين عند ترقية حزمة SDK، وسيكون على المستخدمين تسجيل الدخول مرة أخرى.
قبل البدء
قبل أن تتمكّن من نقل البيانات من Identity Toolkit إلى Identity Platform، يجب استيفاء الشروط التالية:
افتح Cloud Console واختَر مشروعك على Identity Toolkit.
من Marketplace، انتقِل إلى Identity Platform وانقر على "تفعيل Identity Platform".
افتح حسابات الخدمة. يمكنك هنا الاطّلاع على حساب الخدمة الذي سبق لك إعداده في Identity Toolkit.
بجانب حساب الخدمة، انقر على more_vert > إنشاء مفتاح. بعد ذلك، في مربّع الحوار إنشاء مفتاح خاص، اضبط نوع المفتاح على JSON وانقر على إنشاء. سيتم تنزيل ملف JSON يحتوي على بيانات اعتماد حساب الخدمة. ستحتاج إلى ذلك لإعداد حزمة SDK في الخطوة التالية.
ارجِع إلى Cloud Console. في قسم "مقدّمو الخدمة"، ضمن طريقة تسجيل الدخول "البريد الإلكتروني/كلمة المرور"، افتح صفحة نماذج الرسائل الإلكترونية. يمكنك بعد ذلك تخصيص نماذج التطبيق.
في Identity Toolkit، عندما يعيد المستخدمون ضبط كلمات المرور أو يغيّرون عناوين البريد الإلكتروني أو يؤكّدون عناوين البريد الإلكتروني، كان عليك الحصول على رمز OOB من خادم Identity Toolkit، ثم إرسال الرمز إلى المستخدمين عبر البريد الإلكتروني. ترسل Identity Platform رسائل إلكترونية استنادًا إلى النماذج التي تعدّلها بدون الحاجة إلى اتّخاذ أي إجراءات إضافية.
اختياري: إذا كنت بحاجة إلى الوصول إلى خدمات Identity Platform على خادمك، ثبِّت حزمة تطوير البرامج (SDK) لمنصة Firebase.
يمكنك تثبيت حزمة تطوير البرامج (SDK) للمشرف في Node.js باستخدام
npm
:$ npm init $ npm install --save firebase-admin
في الرمز البرمجي، يمكنك الوصول إلى Firebase باستخدام:
var admin = require('firebase-admin'); var app = admin.initializeApp({ credential: admin.credential.cert('path/to/serviceAccountCredentials.json') });
بعد ذلك، أكمل خطوات نقل البيانات الخاصة بنظام تشغيل تطبيقك: Android أو iOS أو الويب.
الخوادم وJavaScript
التغييرات البارزة
هناك عدد من الاختلافات الإضافية في عملية تنفيذ Identity Platform على الويب مقارنةً بـ Identity Toolkit.
إدارة جلسات الويب
في السابق، عندما كان المستخدم يجري مصادقة باستخدام أداة Identity Toolkit، كان يتم ضبط ملف تعريف ارتباط للمستخدم يُستخدَم في بدء الجلسة. كانت مدة صلاحية ملف تعريف الارتباط هذا أسبوعين، وكان يُستخدَم للسماح للمستخدم باستخدام أداة إدارة الحساب لتغيير كلمة المرور وعنوان البريد الإلكتروني. استخدمت بعض المواقع الإلكترونية ملف تعريف الارتباط هذا لمصادقة جميع طلبات الصفحات الأخرى على الموقع الإلكتروني. استخدمت المواقع الإلكترونية الأخرى ملف تعريف الارتباط لإنشاء ملفات تعريف ارتباط خاصة بها من خلال نظام إدارة ملفات تعريف الارتباط في إطار عملها.
تتولّى حِزم تطوير البرامج (SDK) الخاصة ببرنامج Identity Platform إدارة رموز التعريف وتعمل مع الخلفية الخاصة ببرنامج Identity Platform للحفاظ على الجلسة نشطة. تنتهي صلاحية الجلسات في الخلفية عند إجراء تغييرات مهمة على الحساب (مثل تغيير كلمة مرور المستخدم). لا يتم تلقائيًا ضبط رموز التعريف كملفات تعريف ارتباط على عميل الويب، كما أنّ مدة صلاحيتها تبلغ ساعة واحدة فقط. ما لم تكن تريد جلسات لمدة ساعة واحدة فقط، لن يكون من المناسب استخدام رموز التعريف كملف تعريف ارتباط للتحقّق من صحة جميع طلبات صفحاتك. بدلاً من ذلك، عليك إعداد أداة معالجة عند تسجيل دخول المستخدم، والحصول على الرمز المميز لمعرّف المستخدم، والتحقّق من صحة الرمز المميز، وإنشاء ملف تعريف ارتباط خاص بك من خلال نظام إدارة ملفات تعريف الارتباط في إطار العمل.
عليك ضبط مدة بقاء ملف تعريف الارتباط للجلسة استنادًا إلى احتياجات الأمان لتطبيقك.
مسار تسجيل الدخول على الويب
في السابق، كان يتم إعادة توجيه المستخدمين إلى
accountchooser.com
عند بدء عملية تسجيل الدخول لمعرفة المعرّف الذي يريد المستخدم استخدامه. يبدأ مسار واجهات مستخدم Identity Platform الآن بقائمة تتضمّن طرق تسجيل الدخول، بما في ذلك خيار البريد الإلكتروني الذي يؤدي إلىaccountchooser.com
على الويب ويستخدم hintRequest API على Android. بالإضافة إلى ذلك، لم يعُد من الضروري إدخال عناوين البريد الإلكتروني في واجهة المستخدم. سيسهّل ذلك إتاحة استخدام التطبيق للمستخدمين المجهولين أو المستخدمين الذين يستخدمون نظام مصادقة مخصّصًا أو المستخدمين من مقدّمي الخدمات الذين لا يشترطون توفير عناوين بريد إلكتروني.تطبيق إدارة الحساب المصغّر
توفّر هذه الأداة واجهة مستخدم للمستخدمين لتغيير عناوين البريد الإلكتروني أو كلمات المرور أو إلغاء ربط حساباتهم بموفّري خدمات تحديد الهوية. وهي قيد التطوير حاليًا.
زر/تطبيق مصغّر لتسجيل الدخول
لم يعُد يتم توفير أدوات مثل زر تسجيل الدخول وبطاقة المستخدم. ويمكن إنشاؤها بسهولة بالغة باستخدام واجهة برمجة التطبيقات الخاصة بخدمة Firebase Authentication.
No signOutUrl
عليك الاتصال بالرقم
firebase.auth.signOut()
والتعامل مع دالة رد الاتصال.No oobActionUrl
تتولّى Identity Platform الآن عملية إرسال الرسائل الإلكترونية، ويتم إعدادها في وحدة تحكّم Firebase.
تخصيص CSS
تستخدم أداة واجهة المستخدم تنسيق Material Design Lite، الذي يضيف بشكل ديناميكي صورًا متحرّكة من Material Design.
الخطوة 1: تغيير رمز الخادم
إذا كان الخادم يعتمد على رمز Identity Toolkit المميّز (صالح لمدة أسبوعين) لإدارة جلسات مستخدمي الويب، عليك تحويل الخادم لاستخدام ملف تعريف ارتباط الجلسة الخاص به.
- نفِّذ نقطة نهاية للتحقّق من صحة رمز التعريف وضبط ملف تعريف ارتباط الجلسة للمستخدم. يرسل تطبيق العميل رمز تعريف Firebase إلى نقطة النهاية هذه.
- إذا كان الطلب الوارد يتضمّن ملف تعريف ارتباط الجلسة الخاص بك، يمكنك اعتبار المستخدم مصادقًا عليه. بخلاف ذلك، يجب التعامل مع الطلب على أنّه غير مصادق عليه.
- إذا كنت لا تريد أن يفقد أي من المستخدمين جلسات تسجيل الدخول الحالية، عليك الانتظار لمدة أسبوعَين إلى أن تنتهي صلاحية جميع رموز Identity Toolkit المميزة، أو يمكنك أيضًا إجراء عملية التحقّق من صحة الرمز المميّز المزدوج لتطبيق الويب كما هو موضّح أدناه في الخطوة 3.
بعد ذلك، بما أنّ رموز المعرّف تختلف عن رموز Identity Toolkit، عليك تعديل منطق التحقّق من صحة الرموز. ثبِّت Admin SDK على الخادم، أو إذا كنت تستخدم لغة غير متوافقة مع Admin SDK، نزِّل مكتبة للتحقّق من صحة رموز JWT المميزة لبيئتك وتحقّق من صحة الرمز المميز بشكل صحيح.
عند إجراء التعديلات المذكورة أعلاه للمرة الأولى، قد تظل لديك مسارات رموز برمجية تعتمد على رموز Identity Toolkit المميزة. إذا كان لديك تطبيقات iOS أو Android، على المستخدمين الترقية إلى الإصدار الجديد من التطبيق لكي تعمل مسارات الرموز البرمجية الجديدة. إذا كنت لا تريد إجبار المستخدمين على تعديل تطبيقك، يمكنك إضافة منطق إضافي للتحقّق من صحة الخادم يفحص الرمز المميّز ويحدّد ما إذا كان يجب استخدام حزمة تطوير البرامج (SDK) الخاصة بمنصة Firebase أو حزمة تطوير البرامج (SDK) الخاصة بمنصة Identity Toolkit للتحقّق من صحة الرمز المميّز. إذا كان لديك تطبيق ويب فقط، سيتم نقل جميع طلبات المصادقة الجديدة إلى Identity Platform، وبالتالي لن تحتاج إلا إلى استخدام طرق التحقّق من الرمز المميّز للمعرّف.
اطّلِع على مرجع Web API.
الخطوة 2: تعديل ملف HTML
أضِف رمز التهيئة إلى تطبيقك:
- افتح مشروعك في Cloud Console.
- في صفحة مقدّمي الخدمات، انقر على تفاصيل إعداد التطبيق. يظهر مقتطف رمز يفعّل Identity Platform.
- انسخ مقتطف الإعداد والصقه في صفحة الويب.
أضِف أداة المصادقة إلى تطبيقك باتّباع الخطوات التالية:
<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>
أزِل حزمة تطوير البرامج (SDK) الخاصة بـ Identity Toolkit من تطبيقك.
إذا كنت تعتمد على رمز التعريف المميز في Identity Toolkit لإدارة الجلسات، عليك إجراء التغييرات التالية من جهة العميل:
بعد تسجيل الدخول بنجاح باستخدام Identity Platform، احصل على رمز مميّز للمعرّف عن طريق استدعاء
firebase.auth().currentUser.getToken()
.أرسِل الرمز المميّز لتعريف الهوية إلى خادم الخلفية، وتحقّق من صحته، وأصدِر ملف تعريف ارتباط الجلسة الخاص بك.
لا تعتمد فقط على ملف تعريف ارتباط الجلسة عند تنفيذ عمليات حساسة أو إرسال طلبات تعديل مصادَق عليها إلى الخادم. عليك توفير حماية إضافية من تزوير الطلبات على مستوى المواقع الإلكترونية (CSRF).
إذا لم يوفّر إطار العمل الذي تستخدمه الحماية من طلبات التزوير عبر المواقع، يمكنك منع حدوث هجوم من خلال الحصول على رمز مميّز للمعرّف للمستخدم الذي سجّل الدخول باستخدام
getToken()
وتضمين الرمز المميز مع كل طلب (سيتم أيضًا إرسال ملف تعريف الارتباط الخاص بالجلسة تلقائيًا). بعد ذلك، عليك التحقّق من صحة الرمز المميّز باستخدام حزمة تطوير البرامج (SDK) الخاصة بالمشرف، بالإضافة إلى التحقّق من ملف تعريف ارتباط الجلسة، وهو ما أتمّه إطار عمل الخلفية. سيصعّب ذلك من نجاح هجمات CSRF، لأنّه يتم تخزين رمز التعريف فقط باستخدام مساحة تخزين الويب وليس في ملف تعريف ارتباط أبدًا.تكون رموز Identity Toolkit المميزة صالحة لمدة أسبوعين. يمكنك مواصلة إصدار رموز مميّزة تدوم لمدة أسبوعين، أو يمكنك إطالة المدة أو تقصيرها استنادًا إلى متطلبات الأمان في تطبيقك. وعندما يسجّل المستخدم خروجه، عليك محو ملف تعريف ارتباط الجلسة.
الخطوة 3: تعديل عناوين URL لإعادة التوجيه لموفِّر الهوية
في Cloud Console، افتح قسم مقدّمو الخدمة.
لكل موفّر تسجيل دخول موحّد يمكنك استخدامه، اتّبِع الخطوات التالية:
- انقر على اسم مقدّم خدمة تسجيل الدخول.
- انسخ معرّف الموارد المنتظم (URI) الخاص بإعادة التوجيه عبر بروتوكول OAuth.
- في وحدة تحكّم المطوّر الخاصة بموفّر خدمة تسجيل الدخول، عدِّل معرّف الموارد المنتظم (URI) الخاص بإعادة التوجيه في OAuth.
Android
الخطوة 1: إضافة Identity Platform إلى تطبيقك باستخدام Firebase
افتح Cloud Console، واختَر مشروعك على Identity Toolkit.
في صفحة "مقدّمو الخدمة"، انقر على تفاصيل إعداد التطبيق، واختَر علامة التبويب Android، ثم انقر على البدء في Firebase. في مربّع الحوار "إضافة Firebase"، أدخِل اسم حزمة تطبيقك وبصمة شهادة التوقيع، ثم انقر على إضافة تطبيق. سيتم بعد ذلك تنزيل ملف الإعداد
google-services.json
على جهاز الكمبيوتر.انسخ ملف الإعداد إلى الدليل الجذري لوحدة تطبيق Android. يحتوي ملف الإعداد هذا على معلومات حول المشروع وعميل Google OAuth.
في ملف
build.gradle
على مستوى المشروع (<var>your-project</var>/build.gradle
)، حدِّد اسم حزمة تطبيقك في القسمdefaultConfig
:defaultConfig { ….. applicationId "com.your-app" }
في ملف
build.gradle
على مستوى المشروع أيضًا، أضِف تبعية لتضمين المكوّن الإضافي google-services:buildscript { dependencies { // Add this line classpath 'com.google.gms:google-services:3.0.0' } }
في ملف
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-services الملف
google-services.json
لإعداد تطبيقك لاستخدام Firebase.في ملف
build.gradle
على مستوى التطبيق، أضِف أيضًا تبعية Firebase Authentication:compile 'com.google.firebase:firebase-auth:24.0.1' compile 'com.google.android.gms:play-services-auth:21.4.0'
الخطوة 2: إزالة حزمة تطوير البرامج Identity Toolkit
- أزِل إعدادات Identity Toolkit من الملف
AndroidManifest.xml
. يتم تضمين هذه المعلومات في ملفgoogle-service.json
ويتم تحميلها بواسطة المكوّن الإضافي google-services. - أزِل حزمة تطوير البرامج (SDK) الخاصة بـ Identity Toolkit من تطبيقك.
الخطوة 3: إضافة FirebaseUI إلى تطبيقك
أضِف FirebaseUI Auth إلى تطبيقك.
في تطبيقك، استبدِل طلبات البيانات من حزمة تطوير البرامج (SDK) الخاصة بـ Identity Toolkit بطلبات البيانات من FirebaseUI.
iOS
الخطوة 1: إضافة Firebase إلى تطبيقك
أضِف حزمة تطوير البرامج (SDK) الخاصة بالعميل إلى تطبيقك من خلال تنفيذ الأوامر التالية:
$ cd your-project directory $ pod init $ pod 'Firebase'
افتح Cloud Console، واختَر مشروعك على Identity Toolkit.
في صفحة "مقدّمو الخدمة"، انقر على تفاصيل إعداد التطبيق، واختَر علامة التبويب iOS، ثم انقر على البدء في Firebase. في مربّع الحوار "إضافة Firebase"، قدِّم اسم حزمة تطبيقك وبصمة شهادة التوقيع، ثم انقر على إضافة تطبيق. بعد ذلك، سيتم تنزيل ملف الإعداد
google-services.json
على جهاز الكمبيوتر. في مربّع الحوار "إضافة Firebase"، أدخِل رقم تعريف الحزمة ورقم تعريف App Store الخاصَّين بتطبيقك، ثم انقر على إضافة تطبيق. سيتم بعد ذلك تنزيل ملف الإعدادGoogleService-Info.plist
على جهاز الكمبيوتر. إذا كان لديك عدّة معرّفات حِزم في مشروعك، يجب ربط كل معرّف حزمة في وحدة تحكّم Firebase لكي يكون لكل معرّف ملفGoogleService-Info.plist
خاص به.انسخ ملف الإعداد إلى جذر مشروع Xcode وأضِفه إلى جميع الأهداف.
الخطوة 2: إزالة حزمة تطوير البرامج Identity Toolkit
- أزِل
GoogleIdentityToolkit
من ملف Podfile الخاص بتطبيقك. - نفِّذ الأمر
pod install
.
الخطوة 3: إضافة FirebaseUI إلى تطبيقك
أضِف FirebaseUI Auth إلى تطبيقك.
في تطبيقك، استبدِل طلبات البيانات من حزمة تطوير البرامج (SDK) الخاصة بـ Identity Toolkit بطلبات البيانات من FirebaseUI.