يمكنك استخدام مصادقة Firebase للسماح للمستخدمين بالمصادقة باستخدام Firebase من خلال عناوين البريد الإلكتروني وكلمات المرور.
قبل البدء
إذا لم يسبق لك ذلك، اتّبِع الخطوات الواردة في دليل البدء.
فعِّل خيار "البريد الإلكتروني/كلمة المرور" كموفّر تسجيل دخول لمشروعك على Firebase:
في وحدة تحكّم 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 في الوقت الفعلي وCloud Storage، يمكنك الحصول على معرّف المستخدم الفريد للمستخدم الذي سجّل الدخول من المتغيّر auth، واستخدامه للتحكّم في البيانات التي يمكن للمستخدم الوصول إليها.
يمكنك السماح للمستخدمين بتسجيل الدخول إلى تطبيقك باستخدام العديد من مقدّمي خدمات المصادقة من خلال ربط بيانات اعتماد مقدّم خدمة المصادقة بحساب مستخدم حالي.
لتسجيل خروج مستخدم، اتّبِع الخطوات التالية:signOut()
await FirebaseAuth.instance.signOut();