يمكنك دمج خدمة Firebase Authentication مع نظام مصادقة مخصّص من خلال تعديل خادم المصادقة لإنشاء رموز مميّزة مخصّصة وموقّعة عند تسجيل دخول المستخدم بنجاح. يتلقّى تطبيقك هذا الرمز المميز ويستخدمه للمصادقة مع Firebase.
قبل البدء
- إذا لم يسبق لك ذلك، اتّبِع الخطوات الواردة في دليل البدء.
- تثبيت حزمة تطوير البرامج (SDK) الخاصة بمدير Firebase وضبطها احرص على تهيئة حزمة تطوير البرامج (SDK) باستخدام بيانات الاعتماد الصحيحة لمشروعك على Firebase.
المصادقة باستخدام Firebase
عندما يسجّل المستخدمون الدخول إلى تطبيقك، أرسِل بيانات اعتماد تسجيل الدخول (مثل اسم المستخدم وكلمة المرور) إلى خادم المصادقة. يتحقّق الخادم من بيانات الاعتماد، وإذا كانت صالحة، ينشئ رمزًا مميزًا مخصّصًا في Firebase ويرسله مرة أخرى إلى تطبيقك.
بعد تلقّي الرمز المميّز المخصّص من خادم المصادقة، مرِّره إلى
signInWithCustomToken()لتسجيل دخول المستخدم:try { final userCredential = await FirebaseAuth.instance.signInWithCustomToken(token); print("Sign-in successful."); } on FirebaseAuthException catch (e) { switch (e.code) { case "invalid-custom-token": print("The supplied token is not a Firebase custom auth token."); break; case "custom-token-mismatch": print("The supplied token is for a different Firebase project."); break; default: print("Unknown error."); } }
الخطوات التالية
بعد أن ينشئ المستخدم حسابًا جديدًا، يتم تخزين هذا الحساب كجزء من مشروعك على Firebase، ويمكن استخدامه لتحديد هوية المستخدم في كل تطبيق ضمن مشروعك، بغض النظر عن طريقة تسجيل الدخول التي استخدمها.
في تطبيقاتك، يمكنك الحصول على معلومات الملف الشخصي الأساسية للمستخدم من عنصر
User. راجِع مقالة إدارة المستخدمين.
في "قواعد الأمان" في Firebase Realtime Database وCloud Storage، يمكنك الحصول على معرّف المستخدم الفريد للمستخدم الذي سجّل الدخول من المتغيّر auth، واستخدامه للتحكّم في البيانات التي يمكن للمستخدم الوصول إليها.
يمكنك السماح للمستخدمين بتسجيل الدخول إلى تطبيقك باستخدام عدة موفّري مصادقة من خلال ربط بيانات اعتماد موفّر المصادقة بحساب مستخدم حالي.
لتسجيل خروج مستخدم، اتّبِع الخطوات التالية:signOut()
await FirebaseAuth.instance.signOut();