ভাগ করা Apple Keychain এর সাথে ক্রস-অ্যাপ প্রমাণীকরণ সক্ষম করা হচ্ছে৷

Apple প্ল্যাটফর্মে একাধিক অ্যাপ বা এক্সটেনশন জুড়ে প্রমাণীকরণের অবস্থা শেয়ার করতে, কীচেন পরিষেবাগুলি ব্যবহার করে একটি শেয়ার্ড কীচেইনে প্রমাণীকরণের অবস্থা সংরক্ষণ করুন এবং শেয়ার্ড কীচেন ব্যবহার করার জন্য আপনার অ্যাপগুলি কনফিগার করুন৷

এটি ব্যবহারকারীদের অনুমতি দেয়:

  • একবার সাইন ইন করুন এবং একই অ্যাক্সেস গ্রুপের অন্তর্গত সমস্ত অ্যাপ জুড়ে সাইন ইন করুন৷
  • একবার সাইন আউট করুন এবং একই অ্যাক্সেস গ্রুপের অন্তর্গত সমস্ত অ্যাপ জুড়ে সাইন আউট করুন।

অ্যাপ্লিকেশানগুলির মধ্যে অনুমোদনের অবস্থা ভাগ করুন৷

অ্যাপ্লিকেশানগুলির মধ্যে প্রমাণীকরণের অবস্থা ভাগ করতে:

  1. আপনার অ্যাপের জন্য একটি অ্যাক্সেস গ্রুপ সেট আপ করুন।

    আপনি একটি কীচেন অ্যাক্সেস গ্রুপ বা একটি অ্যাপ গ্রুপ ব্যবহার করতে পারেন। বিস্তারিত জানার জন্য অ্যাপের একটি সংগ্রহের মধ্যে কীচেন আইটেমগুলিতে অ্যাক্সেস শেয়ারিং দেখুন।

    একটি কীচেন অ্যাক্সেস গ্রুপ সেট আপ করতে, প্রতিটি অ্যাপের জন্য নিম্নলিখিতগুলি করুন:

    1. এক্সকোডে, প্রকল্প সেটিংস > ক্ষমতাগুলিতে যান।
    2. কীচেন শেয়ারিং সক্ষম করুন।
    3. একটি কীচেন গ্রুপ শনাক্তকারী যোগ করুন। আপনি স্টেট শেয়ার করতে চান এমন সমস্ত অ্যাপের জন্য একই শনাক্তকারী ব্যবহার করুন।
  2. প্রতিটি অ্যাপে, আগের ধাপে আপনার তৈরি করা কীচেন অ্যাক্সেস গ্রুপ বা অ্যাপ গ্রুপে অ্যাক্সেস গ্রুপ সেট করুন।

    সুইফট

    do {
      try Auth.auth().useUserAccessGroup("TEAMID.com.example.group1")
    } catch let error as NSError {
      print("Error changing user access group: %@", error)
    }
    

    উদ্দেশ্য-C

    [FIRAuth.auth useUserAccessGroup:@"TEAMID.com.example.group1"
                                       error:nil];
    
  3. অন্তত একটি অ্যাপে, যেকোনো সাইন ইন পদ্ধতিতে একজন ব্যবহারকারীকে সাইন ইন করুন।

    সুইফট

    Auth.auth().signInAnonymously { result, error in
      // User signed in
    }
    

    উদ্দেশ্য-C

    [FIRAuth signInAnonymouslyWithCompletion:^(FIRAuthDataResult *_Nullable result,
                                               NSError *_Nullable error) {
      // User signed in
    }];
    

    একই বর্তমান ব্যবহারকারী অ্যাক্সেস গ্রুপের সমস্ত অ্যাপে উপলব্ধ।

    সুইফট

    var user = Auth.auth().currentUser
    

    উদ্দেশ্য-C

    FIRUser *user = FIRAuth.auth.currentUser;
    

শেয়ার না করা কীচেইনে ফিরে যান

  1. অনুমোদনের অবস্থা শেয়ার করা বন্ধ করতে অ্যাক্সেস গ্রুপটিকে nil সেট করুন।

    সুইফট

    do {
      try Auth.auth().useUserAccessGroup(nil)
    } catch let error as NSError {
      print("Error changing user access group: %@", error)
    }
    

    উদ্দেশ্য-C

    [FIRAuth.auth useUserAccessGroup:nil error:nil];
    
  2. যেকোন সাইন ইন পদ্ধতিতে একজন ব্যবহারকারীকে সাইন ইন করুন। ব্যবহারকারীর অবস্থা অন্য কোনো অ্যাপে পাওয়া যাবে না।

    সুইফট

    Auth.auth().signInAnonymously { result, error in
      // User signed in
    }
    

    উদ্দেশ্য-C

    [FIRAuth signInAnonymouslyWithCompletion:^(FIRAuthDataResult *_Nullable result,
                                       NSError *_Nullable error) {
      // User signed in
    }];
    

একটি সাইন-ইন করা ব্যবহারকারীকে একটি শেয়ার্ড কীচেইনে স্থানান্তর করুন৷

ইতিমধ্যেই একটি শেয়ার্ড স্টেটে সাইন ইন করা ব্যবহারকারীকে মাইগ্রেট করতে:

  1. ভবিষ্যতে ব্যবহারের জন্য বর্তমান ব্যবহারকারীর একটি রেফারেন্স করুন।

    সুইফট

    var user = Auth.auth().currentUser
    

    উদ্দেশ্য-C

    FIRUser *user = FIRAuth.auth.currentUser;
    
  2. (ঐচ্ছিক) আপনি যে অ্যাক্সেস গ্রুপটি শেয়ার করতে চান তার প্রমাণীকরণের অবস্থা পরীক্ষা করুন।

    সুইফট

    let accessGroup = "TEAMID.com.example.group1"
    var tempUser: User?
    do {
      try tempUser = Auth.auth().getStoredUser(forAccessGroup: accessGroup)
    } catch let error as NSError {
      print("Error getting stored user: %@", error)
    }
    if tempUser != nil {
      // A user exists in the access group
    } else {
      // No user exists in the access group
    }
    

    উদ্দেশ্য-C

    NSString *accessGroup = @"TEAMID.com.example.group1";
    FIRUser *tempUser = [FIRAuth getStoredUserForAccessGroup:accessGroup
                                                       error:nil];
    if (tempUser) {
      // A user exists in the access group
      } else {
      // No user exists in the access group
    }
    
  3. একটি অ্যাক্সেস গ্রুপ ব্যবহার করুন যা আপনি পূর্বে প্রকল্প সেটিংসে সেট করেছেন।

    সুইফট

    do {
      try Auth.auth().useUserAccessGroup(accessGroup)
    } catch let error as NSError {
      print("Error changing user access group: %@", error)
    }
    

    উদ্দেশ্য-C

    [FIRAuth.auth useUserAccessGroup:accessGroup error:nil];
    
  4. বর্তমান ব্যবহারকারীকে আপডেট করুন।

    সুইফট

    Auth.auth().updateCurrentUser(user!) { error in
      // Error handling
    }
    

    উদ্দেশ্য-C

    [FIRAuth.auth updateCurrentUser:user completion:^(NSError * _Nullable error) {
      // Error handling
    }];
    
  5. ব্যবহারকারী এখন একই অ্যাক্সেস গ্রুপে অ্যাক্সেস আছে এমন অন্যান্য অ্যাপ দ্বারা অ্যাক্সেস করা যেতে পারে।