Google is committed to advancing racial equity for Black communities. See how.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

قم بالمصادقة باستخدام Firebase على iOS باستخدام نظام مصادقة مخصص

يمكنك دمج مصادقة Firebase مع نظام مصادقة مخصص عن طريق تعديل خادم المصادقة الخاص بك لإنتاج رموز موقعة مخصصة عندما يقوم المستخدم بتسجيل الدخول بنجاح. يتلقى تطبيقك هذا الرمز المميز ويستخدمه للمصادقة مع Firebase.

قبل ان تبدأ

  1. أضف Firebase إلى مشروع iOS الخاص بك .
  2. قم بتضمين Podfile التالية في Podfile الخاص بك:
    pod 'Firebase/Auth'
    
  3. احصل على مفاتيح خادم مشروعك:
    1. انتقل إلى صفحة حسابات الخدمة في إعدادات مشروعك.
    2. انقر على إنشاء مفتاح خاص جديد في الجزء السفلي من قسم Firebase Admin SDK من صفحة حسابات الخدمة .
    3. يتم حفظ زوج المفاتيح العام / الخاص لحساب الخدمة الجديد تلقائيًا على جهاز الكمبيوتر الخاص بك. انسخ هذا الملف إلى خادم المصادقة الخاص بك.

المصادقة باستخدام Firebase

  1. استيراد وحدة Firebase في UIApplicationDelegate :

    سويفت

    import Firebase

    ج موضوعية

    @import Firebase;
  2. قم FirebaseApp مثيل FirebaseApp المشترك ، عادةً في تطبيق تطبيقك application:didFinishLaunchingWithOptions: method:

    سويفت

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

    ج موضوعية

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. عندما يسجّل المستخدمون الدخول إلى تطبيقك ، أرسل بيانات اعتماد تسجيل الدخول (على سبيل المثال ، اسم المستخدم وكلمة المرور) إلى خادم المصادقة. يتحقق الخادم الخاص بك من بيانات الاعتماد ويعيد رمزًا مخصصًا إذا كانت صالحة.
  4. بعد تلقي الرمز المميز المخصص من خادم المصادقة الخاص بك ، قم signInWithCustomToken إلى signInWithCustomToken لتسجيل الدخول إلى المستخدم:

    سويفت

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

    ج موضوعية

    [[FIRAuth auth] signInWithCustomToken:customToken
                               completion:^(FIRAuthDataResult * _Nullable authResult,
                                            NSError * _Nullable error) {
      // ...
    }];

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

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

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

  • في قاعدة بيانات Firebase Realtime وقواعد أمان التخزين السحابي ، يمكنك الحصول على معرف المستخدم الفريد للمستخدم الذي سجّل الدخول من متغير 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;
}

قد ترغب أيضًا في إضافة رمز معالجة الأخطاء للنطاق الكامل من أخطاء المصادقة. راجع معالجة الأخطاء .