ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

مصادقة مع Firebase بشكل مجهول على iOS

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

قبل ان تبدأ

  1. أضف Firebase إلى مشروع iOS الخاص بك .
  2. قم بتضمين القرون التالية في Podfile الخاص بك:
    pod 'Firebase/Auth'
    
  3. إذا لم تكن قد ربطت تطبيقك بمشروع Firebase بعد ، فافعل ذلك من وحدة تحكم Firebase .
  4. تمكين المصادقة المجهولة:
    1. في وحدة تحكم Firebase ، افتح قسم المصادقة .
    2. في صفحة أساليب تسجيل الدخول ، قم بتمكين طريقة تسجيل الدخول المجهول .

مصادقة مع Firebase بشكل مجهول

عندما يستخدم مستخدم تم تسجيل الخروج منه ميزة تطبيق تتطلب مصادقة مع Firebase ، سجّل دخول المستخدم بشكل مجهول من خلال استكمال الخطوات التالية:

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

    سويفت

    import Firebase

    ج موضوعية

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

    سويفت

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

    ج موضوعية

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. اتصل بـ signInAnonymouslyWithCompletion: method:

    سويفت

    Auth.auth().signInAnonymously() { (authResult, error) in
      // ...
    }
    

    ج موضوعية

    [[FIRAuth auth] signInAnonymouslyWithCompletion:^(FIRAuthDataResult * _Nullable authResult,
                                                      NSError * _Nullable error) {
       // ...
     }];
    
  4. إذا signInAnonymouslyWithCompletion: طريقة signInAnonymouslyWithCompletion: بدون أخطاء ، يمكنك الحصول على بيانات حساب المستخدم المجهول من كائن FIRAuthDataResult :

    سويفت

    guard let user = authResult?.user else { return }
    let isAnonymous = user.isAnonymous  // true
    let uid = user.uid
    

    ج موضوعية

    FIRUser *user = authResult.user;
    BOOL isAnonymous = user.anonymous;  // YES
    NSString *uid = user.uid;
    

تحويل حساب مجهول إلى حساب دائم

عندما يقوم مستخدم مجهول بالتسجيل في تطبيقك ، فقد ترغب في السماح له بمواصلة عمله باستخدام حسابه الجديد - على سبيل المثال ، قد ترغب في جعل العناصر التي أضافها المستخدم إلى عربة التسوق الخاصة به قبل أن يقوم بالتسجيل متوفرة في حسابه الجديد. عربة تسوق الحساب. للقيام بذلك ، أكمل الخطوات التالية:

  1. عندما يقوم المستخدم بالتسجيل ، أكمل تدفق تسجيل الدخول لموفر مصادقة المستخدم حتى ، ولكن لا يشمل ، استدعاء إحدى طرق FIRAuth.signInWith . على سبيل المثال ، احصل على رمز معرف Google الخاص بالمستخدم أو رمز الوصول إلى Facebook أو عنوان البريد الإلكتروني وكلمة المرور.
  2. احصل على FIRAuthCredential لموفر المصادقة الجديد:

    جوجل تسجيل الدخول
    سويفت
    guard let authentication = user.authentication else { return }
    let credential = GoogleAuthProvider.credential(withIDToken: authentication.idToken,
                                                      accessToken: authentication.accessToken)
    
    ج موضوعية
    GIDAuthentication *authentication = user.authentication;
    FIRAuthCredential *credential =
    [FIRGoogleAuthProvider credentialWithIDToken:authentication.idToken
                                     accessToken:authentication.accessToken];
    
    تسجيل الدخول الى الفيسبوك
    سويفت
    let credential = FacebookAuthProvider.credential(withAccessToken: AccessToken.current!.tokenString)
    
    ج موضوعية
    FIRAuthCredential *credential = [FIRFacebookAuthProvider
        credentialWithAccessToken:[FBSDKAccessToken currentAccessToken].tokenString];
    
    تسجيل الدخول إلى البريد الإلكتروني وكلمة المرور
    سويفت
    let credential = EmailAuthProvider.credential(withEmail: email, password: password)
    
    ج موضوعية
    FIRAuthCredential *credential =
        [FIREmailAuthProvider credentialWithEmail:email
                                                 password:password];
    
  3. مرر كائن FIRAuthCredential إلى FIRAuthCredential مستخدم تسجيل الدخول linkWithCredential:completion: الطريقة:

    سويفت
        user.link(with: credential) { (authResult, error) in
      // ...
    }
    }
    
    ج موضوعية
        [[FIRAuth auth].currentUser linkWithCredential:credential
        completion:^(FIRAuthDataResult *result, NSError *_Nullable error) {
      // ...
    }];
    

إذا نجحت دعوة linkWithCredential:completion: يمكن لحساب المستخدم الجديد الوصول إلى بيانات Firebase الخاصة بالحساب المجهول.

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

الآن بعد أن أصبح بإمكان المستخدمين المصادقة باستخدام Firebase ، يمكنك التحكم في وصولهم إلى البيانات في قاعدة بيانات Firebase باستخدام قواعد Firebase .