Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

المصادقة باستخدام 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: الأسلوب:

    سويفت

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

    ج موضوعية

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. استدعاء signInAnonymouslyWithCompletion: الأسلوب:

    سويفت

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

    ج موضوعية

    [[FIRAuth auth] signInAnonymouslyWithCompletion:^(FIRAuthDataResult * _Nullable authResult,
                                                      NSError * _Nullable error) {
       // ...
     }];
    
  4. إذا كان 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,
      let idToken = authentication.idToken
    else {
      return
    }
    
    let credential = GoogleAuthProvider.credential(withIDToken: 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 الكائن إلى تسجيل الدخول المستخدم 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 .