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

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

قبل البدء

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

  2. تفعيل تسجيل الدخول باستخدام البريد الإلكتروني/كلمة المرور:

    • في قسم المصادقة ضمن "وحدة تحكُّم Firebase"، افتح طريقة تسجيل الدخول .
    • من صفحة طريقة تسجيل الدخول، فعِّل تسجيل الدخول عبر البريد الإلكتروني/كلمة المرور وانقر على حفظ.

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

لإنشاء حساب مستخدم جديد باستخدام كلمة مرور، يمكنك الاتصال بالرقم 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.');
  }
}

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

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

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

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

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

لتسجيل خروج مستخدم، يُرجى الاتصال بالرقم signOut():

await FirebaseAuth.instance.signOut();