میتوانید از Firebase Authentication استفاده کنید تا به کاربران خود اجازه دهید با استفاده از آدرسهای ایمیل و گذرواژههای خود با Firebase احراز هویت کنند و حسابهای مبتنی بر گذرواژه برنامهتان را مدیریت کنید.
قبل از اینکه شروع کنی
- Firebase را به پروژه جاوا اسکریپت خود اضافه کنید .
- اگر هنوز برنامه خود را به پروژه Firebase متصل نکرده اید، این کار را از کنسول Firebase انجام دهید.
- فعال کردن ورود به سیستم ایمیل/رمز عبور:
- در کنسول Firebase ، بخش Auth را باز کنید.
- در برگه روش ورود به سیستم، روش ورود ایمیل/گذرواژه را فعال کنید و روی ذخیره کلیک کنید.
یک حساب کاربری مبتنی بر رمز عبور ایجاد کنید
برای ایجاد یک حساب کاربری جدید با رمز عبور، مراحل زیر را در صفحه ثبت نام برنامه خود انجام دهید:
- هنگامی که کاربر جدیدی با استفاده از فرم ثبت نام برنامه شما ثبت نام می کند، مراحل تأیید اعتبار حساب جدید را که برنامه شما نیاز دارد، تکمیل کنید، مانند تأیید اینکه رمز عبور حساب جدید به درستی تایپ شده است و شرایط پیچیدگی شما را برآورده می کند.
- با ارسال آدرس ایمیل و رمز عبور کاربر جدید به
createUserWithEmailAndPassword
، یک حساب کاربری جدید ایجاد کنید:اگر حساب جدید ایجاد شده باشد، کاربر به طور خودکار وارد سیستم می شود. برای دریافت جزئیات کاربر وارد شده به بخش مراحل بعدی در زیر نگاهی بیندازید.Web version 9
import { getAuth, createUserWithEmailAndPassword } from "firebase/auth"; const auth = getAuth(); createUserWithEmailAndPassword(auth, email, password) .then((userCredential) => { // Signed in const user = userCredential.user; // ... }) .catch((error) => { const errorCode = error.code; const errorMessage = error.message; // .. });
Web version 8
firebase.auth().createUserWithEmailAndPassword(email, password) .then((userCredential) => { // Signed in var user = userCredential.user; // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; // .. });
این نیز جایی است که می توانید خطاها را پیدا کرده و کنترل کنید. برای فهرستی از کدهای خطا، به اسناد مرجع تأییدیه نگاهی بیندازید.
یک کاربر با آدرس ایمیل و رمز عبور وارد شوید
مراحل ورود کاربر با رمز عبور مشابه مراحل ایجاد حساب کاربری جدید است. در صفحه ورود به سیستم برنامه، موارد زیر را انجام دهید:
- هنگامی که کاربری وارد برنامه شما می شود، آدرس ایمیل و رمز عبور کاربر را به
signInWithEmailAndPassword
کنید:برای دریافت جزئیات کاربر وارد شده به بخش مراحل بعدی در زیر نگاهی بیندازید.Web version 9
import { getAuth, signInWithEmailAndPassword } from "firebase/auth"; const auth = getAuth(); signInWithEmailAndPassword(auth, email, password) .then((userCredential) => { // Signed in const user = userCredential.user; // ... }) .catch((error) => { const errorCode = error.code; const errorMessage = error.message; });
Web version 8
firebase.auth().signInWithEmailAndPassword(email, password) .then((userCredential) => { // Signed in var user = userCredential.user; // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; });
این نیز جایی است که می توانید خطاها را پیدا کرده و کنترل کنید. برای فهرستی از کدهای خطا، به اسناد مرجع تأییدیه نگاهی بیندازید.
مراحل بعدی
پس از اینکه کاربر برای اولین بار وارد سیستم شد، یک حساب کاربری جدید ایجاد میشود و به اعتبارنامهها (یعنی نام کاربری و رمز عبور، شماره تلفن یا اطلاعات ارائهدهنده تاییدیه) مرتبط میشود که کاربر با آن وارد شده است. این حساب جدید بهعنوان بخشی از پروژه Firebase شما ذخیره میشود و میتوان از آن برای شناسایی کاربر در همه برنامههای پروژهتان، صرف نظر از نحوه ورود کاربر به سیستم استفاده کرد.
در برنامه های شما، روش توصیه شده برای اطلاع از وضعیت احراز هویت کاربر، تنظیم ناظر بر روی شی
Auth
است. سپس می توانید اطلاعات اولیه پروفایل کاربر را از شیUser
دریافت کنید. به مدیریت کاربران مراجعه کنید.در قوانین امنیتی Firebase Realtime Database و Cloud Storage، میتوانید شناسه کاربری منحصر به فرد کاربر واردشده به سیستم را از متغیر
auth
دریافت کنید و از آن برای کنترل دادههایی که کاربر میتواند به آن دسترسی داشته باشد استفاده کنید.
میتوانید به کاربران اجازه دهید با استفاده از چندین ارائهدهنده احراز هویت، با پیوند دادن اعتبار ارائهدهنده تأیید اعتبار به یک حساب کاربری موجود، به برنامه شما وارد شوند.
برای خروج از سیستم کاربر، با خروج از سیستم تماس signOut
:
Web version 9
import { getAuth, signOut } from "firebase/auth"; const auth = getAuth(); signOut(auth).then(() => { // Sign-out successful. }).catch((error) => { // An error happened. });
Web version 8
firebase.auth().signOut().then(() => { // Sign-out successful. }).catch((error) => { // An error happened. });