قم بالمصادقة مع 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.');
  }
}

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

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

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

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

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

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

await FirebaseAuth.instance.signOut();