با استفاده از سیستم تأیید اعتبار سفارشی ، با استفاده از Firebase در iOS احراز هویت کنید

شما می توانید با اصلاح سرور احراز هویت خود ، احراز هویت Firebase را با یک سیستم احراز هویت سفارشی ادغام کنید تا وقتی کاربر با موفقیت وارد سیستم می شود ، نشانه های سفارشی امضا شود. برنامه شما این توکن را دریافت می کند و از آن برای احراز هویت با Firebase استفاده می کند.

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

  1. اضافه کردن فایربیس به پروژه های iOS خود را .
  2. شامل غلاف زیر را در خود Podfile :
    pod 'Firebase/Auth'
    
  3. کلیدهای سرور پروژه خود را دریافت کنید:
    1. برو به حسابهای سرویس صفحه در تنظیمات پروژه خود را.
    2. کلیک کنید تولید جدید کلید خصوصی در پایین بخش فایربیس محیط مدیریت SDK صفحه حسابهای سرویس.
    3. جفت کلید عمومی/خصوصی حساب سرویس جدید به طور خودکار در رایانه شما ذخیره می شود. این فایل را در سرور احراز هویت خود کپی کنید.

احراز هویت با Firebase

  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. پس از شما در سفارشی نشانه از سرور احراز هویت خود را دریافت، آن را به signInWithCustomToken به ثبت نام در کاربر:

    سریع

    Auth.auth().signIn(withCustomToken: customToken ?? "") { user, error in
      // ...
    }

    هدف-ج

    [[FIRAuth auth] signInWithCustomToken:customToken
                               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;
}

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