المصادقة باستخدام Firebase من خلال حسابات تستند إلى كلمات المرور على Flutter

يمكنك استخدام "مصادقة Firebase" للسماح للمستخدمين بالمصادقة باستخدام Firebase من خلال عناوين البريد الإلكتروني وكلمات المرور.

قبل البدء

  1. إذا لم يسبق لك ذلك، اتّبِع الخطوات الواردة في دليل البدء.

  2. فعِّل "البريد الإلكتروني/كلمة المرور" كمزوّد لتسجيل الدخول في مشروعك على Firebase:

    1. في وحدة تحكّم Firebase، انتقِل إلى الأمان > المصادقة.

    2. في علامة التبويب طريقة تسجيل الدخول ، فعِّل مزوّد تسجيل الدخول البريد الإلكتروني/كلمة المرور.

    3. انقر على حفظ.

إنشاء حساب يستند إلى كلمة مرور

لإنشاء حساب مستخدم جديد باستخدام كلمة مرور، استخدِم طريقة createUserWithEmailAndPassword():

try {
  final credential = await FirebaseAuth.instance.createUserWithEmailAndPassword(
    email: emailAddress,
    password: password,
  );
} on FirebaseAuthException catch (e) {
  if (e.code == 'weak-password') {
    print('The password provided is too weak.');
  } else if (e.code == 'email-already-in-use') {
    print('The account already exists for that email.');
  }
} catch (e) {
  print(e);
}

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

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

بعد إنشاء حساب جديد، يمكنك التحقّق من عنوان البريد الإلكتروني للمستخدم.

تسجيل دخول مستخدم باستخدام عنوان بريد إلكتروني وكلمة مرور

تشبه خطوات تسجيل دخول مستخدم باستخدام كلمة مرور خطوات إنشاء حساب جديد. من شاشة تسجيل الدخول في تطبيقك، استخدِم طريقة signInWithEmailAndPassword():

try {
  final credential = await FirebaseAuth.instance.signInWithEmailAndPassword(
    email: emailAddress,
    password: password
  );
} on FirebaseAuthException catch (e) {
  if (e.code == 'user-not-found') {
    print('No user found for that email.');
  } else if (e.code == 'wrong-password') {
    print('Wrong password provided for that user.');
  }
}

الخطوات التالية

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

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

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

يمكنك السماح للمستخدمين بتسجيل الدخول إلى تطبيقك باستخدام عدّة مزوّدي مصادقة من خلال ربط بيانات اعتماد مزوّد المصادقة) بحساب مستخدم حالي.

لتسجيل خروج مستخدم، استخدِم طريقة signOut():

await FirebaseAuth.instance.signOut();