শেয়ার করা Apple Keychain-এর মাধ্যমে ক্রস-অ্যাপ যাচাইকরণ চালু করা

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

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

  • একবার সাইন-ইন করলেই একই অ্যাক্সেস গ্রুপের সব অ্যাপে সাইন-ইন করে থাকতে পারবেন।
  • একবার সাইন-আউট করলে, একই অ্যাক্সেস গ্রুপের অন্তর্গত সব অ্যাপ থেকে সাইন-আউট হয়ে যাবেন।

অ্যাপের মধ্যে যাচাইকরণের স্ট্যাটাস শেয়ার করা

অ্যাপের মধ্যে যাচাইকরণের স্ট্যাটাস শেয়ার করতে:

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

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

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

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

    Swift

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

    Objective-C

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

    Swift

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

    Objective-C

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

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

    Swift

    var user = Auth.auth().currentUser
    

    Objective-C

    FIRUser *user = FIRAuth.auth.currentUser;
    

শেয়ার না করা কীচেনে আবার পরিবর্তন করুন

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

    Swift

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

    Objective-C

    [FIRAuth.auth useUserAccessGroup:nil error:nil];
    
  2. যেকোনও সাইন-ইন পদ্ধতি ব্যবহার করে কোনও ব্যবহারকারীকে সাইন-ইন করান। ব্যবহারকারীর স্টেট অন্য কোনও অ্যাপের কাছে উপলভ্য থাকবে না।

    Swift

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

    Objective-C

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

সাইন-ইন করা ব্যবহারকারীকে শেয়ার করা কীচেনে মাইগ্রেট করা

আগে থেকেই শেয়ার করা স্টেটে সাইন-ইন করেছেন এমন কোনও ব্যবহারকারীকে মাইগ্রেট করতে:

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

    Swift

    var user = Auth.auth().currentUser
    

    Objective-C

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

    Swift

    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
    }
    

    Objective-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. প্রোজেক্ট সেটিংসে আগে সেট করা অ্যাক্সেস গ্রুপ ব্যবহার করুন।

    Swift

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

    Objective-C

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

    Swift

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

    Objective-C

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