تم إصدار أحدث إصدار من Google Identity Toolkit باسم مصادقة Firebase. من الآن فصاعدًا، سيتم إيقاف العمل على ميزات Identity Toolkit، وسيتم تطوير جميع الميزات الجديدة في مصادقة Firebase. ننصح مطوّري Identity Toolkit بالانتقال إلى "مصادقة Firebase" في أقرب وقت ممكن، ولكن ستستمر Identity Toolkit في العمل ولن يتم إيقافها نهائيًا بدون إشعار آخر.
ميزات جديدة
تتضمّن خدمة "مصادقة Firebase" بعض التحسينات المهمة على الميزات مقارنةً بـ Google Identity Toolkit، وهي:
الوصول إلى جميع خدمات Firebase
Firebase هو نظام أساسي للأجهزة الجوّالة يساعدك في تطوير تطبيقات عالية الجودة بسرعة وتنمية قاعدة المستخدمين وتحقيق المزيد من الأرباح. تتكوّن Firebase من ميزات تكميلية يمكنك دمجها ومطابقتها لتناسب احتياجاتك، وتشمل بنية أساسية من أجل: إحصاءات الأجهزة الجوّالة، المراسلة عبر السحابة الإلكترونية، قاعدة البيانات في الوقت الفعلي، تخزين الملفات، الاستضافة الثابتة، الإعداد عن بُعد، إعداد تقارير الأعطال على الأجهزة الجوّالة، والاختبار على Android.
واجهات المستخدم المعدَّلة
أعدنا تصميم مسارات واجهة المستخدم بالكامل استنادًا إلى أحدث أبحاث تجربة المستخدم التي أجرتها Google. ويشمل ذلك عمليات استرداد كلمة المرور وربط الحسابات وتحديد الحسابات الجديدة أو الحالية، وهي عمليات تستغرق غالبًا وقتًا طويلاً في كتابة الرموز البرمجية وتصحيح الأخطاء. تتضمّن هذه الخدمة ميزة Smart Lock لكلمات المرور على Android، ما أدّى إلى تحسين معدّل الإحالات الناجحة بشكل كبير عند تسجيل الدخول وإنشاء الحسابات في التطبيقات المشارِكة. يتيح التطبيق أيضًا تعديل التصميم بسهولة ليتناسب مع تطبيقك، كما تم توفير إصدارات Android وiOS بمصدر مفتوح لتوفير أقصى قدر من التخصيص.
إعداد الخادم بشكلٍ مبسّط
لقد سهّلنا على المطوّرين استخدام خدمة "مصادقة Firebase". من خلال Identity Toolkit، لاحظنا أنّ العديد من المطوّرين اختاروا عدم تنفيذ عملية استرداد الحساب عبر البريد الإلكتروني، ما جعل من المستحيل على المستخدمين استرداد حساباتهم في حال نسيان كلمة المرور. يمكن لخدمة مصادقة Firebase إرسال رسائل إلكترونية لتأكيد عنوان البريد الإلكتروني وإعادة ضبط كلمة المرور وتغييرها إلى المستخدم، ويمكن تخصيص نص الرسائل بسهولة للمستخدمين. بالإضافة إلى ذلك، لم يعُد عليك استضافة أدوات واجهة المستخدم لاستضافة عمليات إعادة التوجيه وإكمال عمليات تغيير كلمة المرور.
وحدة تحكّم المشرف الجديدة
يتوفّر في Firebase وحدة تحكّم جديدة للمطوّرين، ويتيح لك قسم "المصادقة" عرض المستخدمين وتعديلهم وحذفهم. يمكن أن يساعد ذلك بشكل كبير في تصحيح أخطاء عمليات تسجيل الدخول والاشتراك. تتيح لك وحدة التحكّم أيضًا ضبط طرق المصادقة وتخصيص نماذج الرسائل الإلكترونية.
حِزم SDK الجديدة
تتوفّر الآن جميع واجهات برمجة التطبيقات الخاصة بالخادم في Identity Toolkit بشكل أصلي مع كل مكتبة من مكتباتنا الخاصة بالعميل (Android وiOS والويب). سيتمكّن المطوّرون من تسجيل الدخول وتسجيل المستخدمين القدامى والجدد، والوصول إلى خصائص المستخدمين، وربط الحسابات وتعديلها وحذفها، وإعادة ضبط كلمات المرور، وغير ذلك بدون الحاجة إلى واجهة مستخدم ثابتة. يمكنك بدلاً من ذلك إنشاء تجربة وعملية تسجيل دخول كاملة يدويًا استنادًا إلى واجهة برمجة التطبيقات هذه.
إدارة الجلسات للتطبيقات على الأجهزة الجوّالة
باستخدام Identity Toolkit، أنشأت التطبيقات حالة الجلسة الخاصة بها استنادًا إلى حدث المصادقة الأوّلي من Identity Toolkit. تستخدم خدمة "مصادقة Firebase" خدمة خلفية تأخذ رمزًا مميزًا لإعادة التحقّق، تم إنشاؤه من حدث المصادقة، وتبدّله برموز مميزة للوصول لمدة ساعة واحدة على Android وiOS وJavaScript. عندما يغيّر المستخدم كلمة المرور، لن تتمكّن رموز إعادة التحميل من إنشاء رموز وصول جديدة، ما يؤدي إلى إيقاف إمكانية الوصول إلى أن يعيد المستخدم إثبات هويته على هذا الجهاز.
المصادقة المجهولة والمصادقة باستخدام GitHub
تتيح مصادقة Firebase نوعَين جديدَين من المصادقة، هما GitHub والمصادقة بدون تحديد الهوية. يمكن استخدام ميزة "تسجيل الدخول بدون اسم" لإنشاء معرّف مستخدم فريد بدون أن يضطر المستخدم إلى إجراء أي عملية تسجيل دخول أو اشتراك. باستخدام حساب مستخدم مجهول الهوية، يمكنك الآن إجراء طلبات بيانات مصادَق عليها من واجهة برمجة التطبيقات، كما تفعل مع حساب مستخدم عادي. عندما يقرّر المستخدم الاشتراك للحصول على حساب، يتم الاحتفاظ بجميع الأنشطة باستخدام رقم تعريف المستخدم نفسه. ويكون ذلك مفيدًا في حالات مثل سلّة التسوّق على الخادم أو أي تطبيق تريد فيه جذب المستخدم قبل إرساله إلى مسار التسجيل.
الاختلافات بين الميزات
لا تتوفّر بعض ميزات Identity Toolkit حاليًا في خدمة Firebase Authentication، بينما تم إعادة تصميم ميزات أخرى وتعمل بشكل مختلف. يمكنك اختيار عدم نقل البيانات على الفور إذا كانت هذه الميزات مهمة لتطبيقك. وفي كثير من الحالات، قد لا تكون هذه الميزات مهمة لتطبيقك أو قد تكون هناك بدائل سهلة تتيح لك مواصلة عملية نقل البيانات.
الاختلافات من جهة الخادم
لم يتم إجراء سوى تحديثات بسيطة على خدمة Identity Toolkit الأساسية التي تتضمّن واجهات REST API الأساسية ومنطق التحقّق من صحة الحساب وقاعدة بيانات المستخدمين الأساسية. ومع ذلك، تغيّرت بعض الميزات وطريقة دمج خدمة مصادقة Firebase في خدمتك.
موفّرو الهوية
لا تتوافق هذه الميزة مع PayPal وAOL. سيظل بإمكان المستخدمين الذين لديهم حسابات من موفّري خدمات تحديد الهوية هؤلاء تسجيل الدخول إلى تطبيقك باستخدام عملية استرداد كلمة المرور وإعداد كلمة مرور لحساباتهم.
مكتبات الخادم
تتوفّر حاليًا حِزم SDK للمشرف في Firebase للغات Java وNode.js وPython وGo وC#.
رسائل البريد الإلكتروني المتعلّقة بإدارة الحساب
يمكن إجراء عمليات إعادة ضبط كلمة المرور وإثبات ملكية عنوان البريد الإلكتروني وتغييره من خلال Firebase أو من خادم البريد الخاص بالمطوّر. في الوقت الحالي، لا تتيح نماذج الرسائل الإلكترونية في Firebase سوى تخصيص محدود.
تأكيد تغيير عنوان البريد الإلكتروني
في Identity Toolkit، عندما يقرّر المستخدم تغيير عنوان بريده الإلكتروني، يتم إرسال رسالة إلكترونية إلى العنوان الجديد تتضمّن رابطًا لمواصلة عملية تغيير عنوان البريد الإلكتروني.
تؤكّد Firebase تغيير عنوان البريد الإلكتروني من خلال إرسال رسالة إبطال إلى عنوان البريد الإلكتروني القديم تتضمّن رابطًا لإرجاع التغيير.
طرح ميزة "التحقّق من الهوية"
كانت Identity Toolkit تتيح إمكانية إضافة موفّري الهوية إلى نظام تسجيل الدخول بشكل تدريجي، ما يتيح لك تجربة تأثير ذلك في طلبات الدعم. تمت إزالة هذه الميزة في مصادقة Firebase.
الاختلافات من جهة العميل
في Firebase، يتم تقسيم الميزات التي توفّرها Google Identity Toolkit إلى مكوّنَين:
حِزم تطوير البرامج (SDK) الخاصة بخدمة "مصادقة Firebase"
في مصادقة Firebase، تم تجميع الوظائف التي توفّرها واجهة Identity Toolkit REST API في حِزم SDK للعملاء متاحة لأنظمة التشغيل Android وiOS ولغة JavaScript. يمكنك استخدام حزمة SDK لتسجيل الدخول وتسجيل المستخدمين، والوصول إلى معلومات الملف الشخصي للمستخدمين، وربط الحسابات وتعديلها وحذفها، وإعادة ضبط كلمات المرور باستخدام حزمة SDK الخاصة بالعميل بدلاً من التواصل مع خدمة الخلفية من خلال طلبات REST.
FirebaseUI Auth
تمت إعادة إنشاء جميع مسارات واجهة المستخدم التي تدير عمليات تسجيل الدخول والاشتراك واسترداد كلمة المرور وربط الحسابات باستخدام حِزم تطوير البرامج (SDK) الخاصة بخدمة Firebase Authentication. تتوفّر هذه المكتبات كحِزم SDK مفتوحة المصدر لنظامَي التشغيل iOS وAndroid، ما يتيح لك تخصيص عمليات تسجيل الدخول بشكل كامل بطرق لا يمكن تنفيذها باستخدام Identity Toolkit.
تشمل الاختلافات الإضافية ما يلي:
الجلسات ونقل البيانات
بما أنّ الجلسات تتم إدارتها بشكل مختلف في Identity Toolkit وFirebase Authentication، سيتم إنهاء الجلسات الحالية للمستخدمين عند ترقية حزمة SDK، وسيكون على المستخدمين تسجيل الدخول مرة أخرى.
قبل البدء
قبل نقل البيانات من Identity Toolkit إلى "مصادقة Firebase"، عليك
افتح وحدة تحكّم Firebase، وانقر على استيراد مشروع Google، ثم اختَر مشروع Identity Toolkit.
انقر على settings > الأذونات لفتح صفحة إدارة الهوية وإمكانية الوصول والمشرف.
افتح حسابات الخدمة. يمكنك هنا الاطّلاع على حساب الخدمة الذي سبق لك ضبطه في Identity Toolkit.
بجانب حساب الخدمة، انقر على more_vert > إنشاء مفتاح. بعد ذلك، في مربّع الحوار إنشاء مفتاح خاص، اضبط نوع المفتاح على JSON وانقر على إنشاء. سيتم تنزيل ملف JSON يحتوي على بيانات اعتماد حساب الخدمة. ستحتاج إلى ذلك لإعداد حزمة SDK في الخطوة التالية.
ارجع إلى وحدة تحكّم Firebase. في قسم "المصادقة" (Auth)، افتح صفحة نماذج الرسائل الإلكترونية. في هذه الصفحة، يمكنك تخصيص نماذج الرسائل الإلكترونية لتطبيقك.
في Identity Toolkit، عندما يعيد المستخدمون ضبط كلمات المرور ويغيّرون عناوين البريد الإلكتروني ويؤكّدون عناوين بريدهم الإلكتروني، كان عليك الحصول على رمز OOB من خادم Identity Toolkit، ثم إرسال الرمز إلى المستخدمين عبر البريد الإلكتروني. ترسل Firebase رسائل إلكترونية استنادًا إلى النماذج التي تضبطها بدون الحاجة إلى اتّخاذ أي إجراءات إضافية.
اختياري: إذا كنت بحاجة إلى الوصول إلى خدمات Firebase على الخادم، ثبِّت حزمة تطوير البرامج (SDK) لمنصة Firebase.
يمكنك تثبيت وحدة Firebase 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
التغييرات البارزة
هناك عدد من الاختلافات الإضافية في تنفيذ Firebase على الويب مقارنةً بـ Identity Toolkit.
إدارة جلسات الويب
في السابق، عندما كان المستخدم يجري مصادقة باستخدام أداة Identity Toolkit، يتم ضبط ملف تعريف ارتباط للمستخدم كان يُستخدَم في بدء الجلسة. كانت مدة صلاحية ملف تعريف الارتباط هذا أسبوعين، وكان يُستخدم للسماح للمستخدم باستخدام أداة إدارة الحساب لتغيير كلمة المرور وعنوان البريد الإلكتروني. استخدمت بعض المواقع الإلكترونية ملف تعريف الارتباط هذا لمصادقة جميع طلبات الصفحات الأخرى على الموقع الإلكتروني. استخدمت المواقع الإلكترونية الأخرى ملف تعريف الارتباط لإنشاء ملفات تعريف ارتباط خاصة بها من خلال نظام إدارة ملفات تعريف الارتباط في إطار عملها.
تتولّى حِزم تطوير البرامج (SDK) الخاصة بالعملاء في Firebase الآن إدارة رموز تعريف Firebase وتعمل مع الخلفية في خدمة "المصادقة في Firebase" للحفاظ على صلاحية الجلسة. يُنهي الخلفية الجلسات عند إجراء تغييرات مهمة في الحساب (مثل تغيير كلمة مرور المستخدم). لا يتم تلقائيًا ضبط رموز تعريف Firebase المميزة كملفات تعريف ارتباط على عميل الويب، كما أنّ مدة صلاحيتها ساعة واحدة فقط. ما لم تكن تريد جلسات لمدة ساعة واحدة فقط، فإنّ رموز التعريف المميزة في Firebase ليست مناسبة لاستخدامها كملف تعريف ارتباط للتحقّق من صحة جميع طلبات صفحاتك. بدلاً من ذلك، عليك إعداد أداة معالجة عند تسجيل دخول المستخدم، والحصول على الرمز المميّز لمعرّف Firebase، والتحقّق من صحة الرمز المميز، وإنشاء ملف تعريف ارتباط خاص بك من خلال نظام إدارة ملفات تعريف الارتباط في إطار العمل.
عليك ضبط مدة بقاء ملف تعريف الارتباط للجلسة استنادًا إلى احتياجات الأمان لتطبيقك.
مسار تسجيل الدخول على الويب
في السابق، كان يتم إعادة توجيه المستخدمين إلى
accountchooser.comعند بدء عملية تسجيل الدخول لمعرفة المعرّف الذي يريد المستخدم استخدامه. يبدأ مسار واجهات المستخدم في Firebase Auth الآن بقائمة تتضمّن طرق تسجيل الدخول، بما في ذلك خيار البريد الإلكتروني الذي يؤدي إلىaccountchooser.comعلى الويب ويستخدم hintRequest API على Android. بالإضافة إلى ذلك، لم تعُد عناوين البريد الإلكتروني مطلوبة في واجهة مستخدم Firebase. سيؤدي ذلك إلى تسهيل إتاحة استخدام التطبيق للمستخدمين المجهولين أو المستخدمين الذين يستخدمون نظام مصادقة مخصّصًا أو المستخدمين الذين يستخدمون موفّرين لا يشترطون توفير عناوين بريد إلكتروني.تطبيق إدارة الحساب المصغّر
توفّر هذه الأداة واجهة مستخدم للمستخدمين لتغيير عناوين البريد الإلكتروني أو كلمات المرور أو إلغاء ربط حساباتهم بموفّري خدمات تحديد الهوية. وهي قيد التطوير حاليًا.
زر/تطبيق مصغّر لتسجيل الدخول
لم يعُد يتم توفير أدوات مثل زر تسجيل الدخول وبطاقة المستخدم. ويمكن إنشاؤها بسهولة بالغة باستخدام واجهة برمجة التطبيقات مصادقة Firebase.
No signOutUrl
عليك طلب
firebase.auth.signOut()ومعالجة دالة رد الاتصال.No oobActionUrl
تتولّى Firebase الآن عملية إرسال الرسائل الإلكترونية، ويتم إعدادها في وحدة تحكّم Firebase.
تخصيص CSS
تستخدم FirebaseUI تصميم Material Design Lite، الذي يضيف بشكل ديناميكي رسومًا متحركة من التصميم المتعدد الأبعاد.
الخطوة 1: تغيير رمز الخادم
إذا كان الخادم يعتمد على رمز Identity Toolkit المميّز (صالح لمدة أسبوعين) لإدارة جلسات مستخدمي الويب، عليك تحويل الخادم لاستخدام ملف تعريف ارتباط الجلسة الخاص به.
- نفِّذ نقطة نهاية للتحقّق من صحة رمز التعريف المميز في Firebase وضبط ملف تعريف ارتباط الجلسة للمستخدم. يرسل تطبيق العميل رمز التعريف المميز الخاص بـ Firebase إلى نقطة النهاية هذه.
- إذا كان الطلب الوارد يتضمّن ملف تعريف ارتباط الجلسة الخاص بك، يمكنك اعتبار المستخدم مصادَقًا عليه. وفي ما عدا ذلك، يجب التعامل مع الطلب على أنّه غير مصادق عليه.
- إذا كنت لا تريد أن يفقد أي من المستخدمين جلسات تسجيل الدخول الحالية، عليك الانتظار لمدة أسبوعَين إلى أن تنتهي صلاحية جميع الرموز المميزة في Identity Toolkit، أو يمكنك أيضًا إجراء عملية التحقّق من صحة الرمز المميّز المزدوج لتطبيق الويب كما هو موضّح أدناه في الخطوة 3.
بعد ذلك، بما أنّ رموز Firebase المميزة تختلف عن رموز Identity Toolkit المميزة، عليك تعديل منطق التحقّق من صحة الرموز المميزة. ثبِّت حزمة تطوير البرامج (SDK) لخادم Firebase على الخادم، أو إذا كنت تستخدم لغة غير متوافقة مع حزمة تطوير البرامج (SDK) لخادم Firebase، نزِّل مكتبة التحقّق من صحة الرموز المميّزة بتنسيق JWT لبيئتك وتحقّق من صحة الرمز المميّز بشكلٍ صحيح.
عند إجراء التعديلات المذكورة أعلاه لأول مرة، قد تظل لديك مسارات رموز برمجية تعتمد على رموز Identity Toolkit المميزة. إذا كان لديك تطبيقات iOS أو Android، على المستخدمين الترقية إلى الإصدار الجديد من التطبيق لكي تعمل مسارات الرموز البرمجية الجديدة. إذا كنت لا تريد إجبار المستخدمين على تحديث تطبيقك، يمكنك إضافة منطق إضافي للتحقّق من صحة الخادم يفحص الرمز المميّز ويحدّد ما إذا كان يجب استخدام حزمة تطوير البرامج (SDK) الخاصة بمنصة Firebase أو حزمة تطوير البرامج (SDK) الخاصة بـ Identity Toolkit للتحقّق من صحة الرمز المميّز. إذا كان لديك تطبيق ويب فقط، سيتم نقل جميع طلبات المصادقة الجديدة إلى Firebase، وبالتالي، لن تحتاج إلا إلى استخدام طرق التحقّق من الرمز المميّز في Firebase.
يمكنك الاطّلاع على مرجع واجهة برمجة التطبيقات على الويب من Firebase.
الخطوة 2: تعديل رمز HTML
أضِف رمز إعداد Firebase إلى تطبيقك:
- افتح مشروعك في وحدة تحكّم Firebase.
- في صفحة "نظرة عامة"، انقر على إضافة تطبيق، ثمّ انقر على إضافة Firebase إلى تطبيق الويب. سيظهر مقتطف رمز يضبط إعدادات Firebase.
- انسخ مقتطف الإعداد والصقه في صفحة الويب.
أضِف FirebaseUI Auth إلى تطبيقك:
<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 لإدارة الجلسات، عليك إجراء التغييرات التالية من جهة العميل:
بعد تسجيل الدخول بنجاح باستخدام Firebase، احصل على رمز مميّز لمعرّف Firebase عن طريق استدعاء
firebase.auth().currentUser.getToken().أرسِل الرمز المميّز لمعرّف Firebase إلى خادم الخلفية، وتحقّق من صحته، وأصدِر ملف تعريف الارتباط للجلسة الخاص بك.
لا تعتمد فقط على ملف تعريف ارتباط الجلسة عند تنفيذ عمليات حساسة أو إرسال طلبات تعديل مصادَق عليها إلى الخادم. عليك توفير حماية إضافية من تزوير الطلبات على مستوى المواقع الإلكترونية (CSRF).
إذا كان إطار العمل لا يوفّر الحماية من طلبات التزوير عبر المواقع، يمكنك منع حدوث هجوم من خلال الحصول على رمز مميّز لمعرّف Firebase للمستخدم الذي سجّل الدخول باستخدام
getToken()وتضمين الرمز المميز مع كل طلب (سيتم أيضًا إرسال ملف تعريف ارتباط الجلسة تلقائيًا). بعد ذلك، عليك التحقّق من صحة الرمز المميّز باستخدام حزمة تطوير البرامج (SDK) للخادم في Firebase بالإضافة إلى التحقّق من ملف تعريف ارتباط الجلسة، وهي العملية التي أتمّها إطار عمل الخلفية. سيصعّب ذلك من نجاح هجمات CSRF، لأنّه يتم تخزين رمز Firebase المميز فقط باستخدام مساحة التخزين على الويب وليس في ملف تعريف ارتباط أبدًا.تكون الرموز المميزة في Identity Toolkit صالحة لمدة أسبوعين. يمكنك مواصلة إصدار رموز مميّزة تدوم لمدة أسبوعَين، أو يمكنك إطالة المدة أو تقصيرها استنادًا إلى متطلبات الأمان في تطبيقك. وعندما يسجّل المستخدم الخروج، عليك محو ملف تعريف ارتباط الجلسة.
الخطوة 3: تعديل عناوين URL لإعادة التوجيه الخاصة بموفِّر الهوية
في "وحدة تحكّم Firebase"، افتح قسم "المصادقة" وانقر على علامة التبويب طريقة تسجيل الدخول.
لكل موفّر تسجيل دخول موحّد يمكنك استخدامه، اتّبِع الخطوات التالية:
- انقر على اسم مقدّم خدمة تسجيل الدخول.
- انسخ معرّف الموارد المنتظم (URI) الخاص بإعادة التوجيه عبر بروتوكول OAuth.
- في وحدة تحكّم المطوّر الخاصة بمقدّم خدمة تسجيل الدخول، عدِّل معرّف الموارد المنتظم (URI) لإعادة التوجيه الخاص ببروتوكول OAuth.
Android
الخطوة 1: إضافة Firebase إلى تطبيقك
افتح وحدة تحكّم Firebase واختَر مشروع Identity Toolkit الذي سبق أن استوردته.
في صفحة "نظرة عامة"، انقر على إضافة تطبيق، ثم انقر على إضافة Firebase إلى تطبيق Android. في مربّع الحوار "إضافة 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)، أضِف السطر التالي في الأسفل لتفعيل المكوّن الإضافي google-services:// Add to the bottom of the file apply plugin: 'com.google.gms.google-services'يستخدم المكوّن الإضافي google-services الملف
google-services.jsonلضبط تطبيقك لاستخدام Firebase.في ملف
build.gradleعلى مستوى التطبيق أيضًا، أضِف تبعية Firebase Authentication:compile 'com.google.firebase:firebase-auth:24.2.0' compile 'com.google.android.gms:play-services-auth:22.0.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) لمنصة Firebase إلى تطبيقك من خلال تنفيذ الأوامر التالية:
$ cd your-project directory $ pod init $ pod 'Firebase'افتح وحدة تحكّم Firebase واختَر مشروع Identity Toolkit الذي سبق أن استوردته.
في صفحة "نظرة عامة"، انقر على إضافة تطبيق، ثمّ انقر على إضافة Firebase إلى تطبيقك على iOS. في مربّع الحوار "إضافة Firebase"، أدخِل رقم تعريف حزمة تطبيقك ورقم تعريف متجر التطبيقات، ثمّ انقر على إضافة تطبيق. سيتم بعد ذلك تنزيل ملف الإعداد
GoogleService-Info.plistعلى جهاز الكمبيوتر. إذا كان لديك عدّة أرقام تعريف حِزم في مشروعك، يجب ربط كل رقم تعريف حزمة في وحدة تحكّم Firebase لكي يتضمّن ملفGoogleService-Info.plistخاصًا به.انسخ ملف الإعداد إلى جذر مشروع Xcode وأضِفه إلى جميع الأهداف.
الخطوة 2: إزالة حزمة تطوير البرامج Identity Toolkit
- أزِل
GoogleIdentityToolkitمن ملف Podfile الخاص بتطبيقك. - نفِّذ الأمر
pod install.
الخطوة 3: إضافة FirebaseUI إلى تطبيقك
أضِف FirebaseUI Auth إلى تطبيقك.
في تطبيقك، استبدِل طلبات حزمة تطوير البرامج (SDK) الخاصة بـ Identity Toolkit بطلبات FirebaseUI.