با استفاده از حسابهای مبتنی بر گذرواژه در iOS احراز هویت کنید

شما می توانید از احراز هویت Firebase استفاده کنید تا به کاربران اجازه دهید با استفاده از آدرس ایمیل و گذرواژه های خود با Firebase احراز هویت کنند و حساب های مبتنی بر گذرواژه برنامه شما را مدیریت کنند.

قبل از اینکه شروع کنی

  1. اضافه کردن فایربیس به پروژه های iOS خود را .

  2. شامل غلاف زیر را در خود Podfile :

    pod 'Firebase/Auth'
    
  3. اگر هنوز برنامه خود را متصل به پروژه فایربیس شما نیست، انجام این کار از کنسول فایربیس .
  4. ورود به سیستم ایمیل/رمز عبور را فعال کنید:
    1. در فایربیس کنسول ، باز کردن بخش تایید.
    2. بر روی ثبت نام در تب روش، فعال کردن ایمیل / رمز عبور ثبت نام در روش و روی Save کلیک کنید.

یک حساب مبتنی بر رمز عبور ایجاد کنید

برای ایجاد حساب کاربری جدید با گذرواژه ، مراحل زیر را در فعالیت ورود به سیستم برنامه خود انجام دهید:

  1. واردات ماژول فایربیس خود را UIApplicationDelegate :

    سریع

    import Firebase

    هدف-ج

    @import Firebase;
  2. پیکربندی FirebaseApp عنوان مثال مشترک، به طور معمول در برنامه شما application:didFinishLaunchingWithOptions: روش:

    سریع

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    هدف-ج

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. هنگامی که کاربر جدیدی با استفاده از فرم ثبت نام برنامه شما ثبت نام می کند ، مراحل اعتبارسنجی حساب جدیدی را که برنامه شما نیاز دارد انجام دهید ، مانند تأیید اینکه رمز عبور جدید به درستی تایپ شده است و الزامات پیچیدگی شما را برآورده می کند.
  4. ایجاد یک حساب کاربری جدید با عبور از آدرس ایمیل کاربر جدید و رمز عبور برای createUserWithEmail:email:password:completion: .

    سریع

    Auth.auth().createUser(withEmail: email, password: password) { authResult, error in
      // ...
    }

    هدف-ج

    [[FIRAuth auth] createUserWithEmail:email
                               password:password
                             completion:^(FIRAuthDataResult * _Nullable authResult,
                                          NSError * _Nullable error) {
      // ...
    }];
    اگر حساب جدید با موفقیت ایجاد شد ، کاربر وارد سیستم شده است و می توانید داده های حساب کاربر را از شیء نتیجه ای که به روش تماس مجدد منتقل شده است دریافت کنید.

با یک آدرس ایمیل و رمز ورود به سیستم وارد شوید

مراحل ورود به سیستم با یک رمز عبور مشابه مراحل ایجاد یک حساب جدید است. در فعالیت ورود به سیستم برنامه خود ، موارد زیر را انجام دهید:

  1. واردات ماژول فایربیس خود را UIApplicationDelegate :

    سریع

    import Firebase

    هدف-ج

    @import Firebase;
  2. پیکربندی FirebaseApp عنوان مثال مشترک، به طور معمول در برنامه شما application:didFinishLaunchingWithOptions: روش:

    سریع

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    هدف-ج

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. هنگامی که کاربری به برنامه خود را، عبور آدرس ایمیل کاربر و رمز عبور برای signInWithEmail:email:password:completion: .

    سریع

    Auth.auth().signIn(withEmail: email, password: password) { [weak self] authResult, error in
      guard let strongSelf = self else { return }
      // ...
    }

    هدف-ج

    [[FIRAuth auth] signInWithEmail:self->_emailField.text
                           password:self->_passwordField.text
                         completion:^(FIRAuthDataResult * _Nullable authResult,
                                      NSError * _Nullable error) {
      // ...
    }];
    اگر کاربر با موفقیت وارد سیستم شد ، می توانید داده های حساب کاربر را از شیء نتیجه ای که به روش تماس مجدد منتقل شده است ، دریافت کنید.

مراحل بعدی

پس از ورود کاربر برای اولین بار ، یک حساب کاربری جدید ایجاد می شود و به اعتبارنامه - یعنی نام کاربری و رمز عبور ، شماره تلفن یا اطلاعات ارائه دهنده تأیید - که کاربر با آن وارد شده است ، پیوند داده می شود. این حساب جدید به عنوان بخشی از پروژه Firebase شما ذخیره می شود و می تواند برای شناسایی کاربر در هر برنامه ای در پروژه شما ، صرف نظر از نحوه ورود کاربر به سیستم ، مورد استفاده قرار گیرد.

  • در برنامه های خود را، شما می توانید اطلاعات نمایه کاربر از دریافت FIRUser شی. مشاهده مدیریت کاربران .

  • در خود پایگاه فایربیس بیدرنگ و ابر ذخیره سازی قوانین امنیتی ، شما می توانید دریافت امضا در شناسه کاربری منحصر به فرد کاربر را از auth متغیر، و استفاده از آن برای کنترل آنچه داده دسترسی کاربر می تواند.

شما می توانید اجازه به کاربران برای ورود به سیستم برنامه خود را با استفاده از ارائه دهندگان تأیید هویت چندگانه توسط ارتباط تایید اعتبار ارائه دهنده به یک حساب کاربری موجود.

برای خروج از سیستم یک کاربر، پاسخ signOut: .

سریع

    let firebaseAuth = Auth.auth()
do {
  try firebaseAuth.signOut()
} catch let signOutError as NSError {
  print("Error signing out: %@", signOutError)
}
  

هدف-ج

    NSError *signOutError;
BOOL status = [[FIRAuth auth] signOut:&signOutError];
if (!status) {
  NSLog(@"Error signing out: %@", signOutError);
  return;
}

همچنین ممکن است بخواهید برای همه دامنه خطاهای احراز هویت ، کد مدیریت خطا را اضافه کنید. مشاهده خطاها دسته .