অ্যাপল প্ল্যাটফর্মে একাধিক অ্যাপ বা এক্সটেনশনের মধ্যে অথেনটিকেশন স্টেট শেয়ার করতে, কীচেইন সার্ভিসেস ব্যবহার করে একটি শেয়ার্ড কীচেইনে অথেনটিকেশন স্টেটটি স্টোর করুন এবং আপনার অ্যাপগুলোকে সেই শেয়ার্ড কীচেইনটি ব্যবহার করার জন্য কনফিগার করুন।
এর মাধ্যমে ব্যবহারকারীরা:
- একবার সাইন ইন করলেই একই অ্যাক্সেস গ্রুপের অন্তর্ভুক্ত সমস্ত অ্যাপে সাইন ইন করা থাকবে।
- একবার সাইন আউট করলেই একই অ্যাক্সেস গ্রুপের অন্তর্ভুক্ত সমস্ত অ্যাপ থেকে সাইন আউট হয়ে যাবেন।
অ্যাপগুলির মধ্যে প্রমাণীকরণ অবস্থা শেয়ার করুন
অ্যাপগুলোর মধ্যে অথেন্টিকেশন স্টেট শেয়ার করতে:
আপনার অ্যাপগুলোর জন্য একটি অ্যাক্সেস গ্রুপ তৈরি করুন।
আপনি কিচেইন অ্যাক্সেস গ্রুপ অথবা অ্যাপ গ্রুপ ব্যবহার করতে পারেন। বিস্তারিত জানতে ‘একাধিক অ্যাপের মধ্যে কিচেইন আইটেমের অ্যাক্সেস শেয়ার করা’ দেখুন।
একটি কীচেইন অ্যাক্সেস গ্রুপ সেট আপ করতে, প্রতিটি অ্যাপের জন্য নিম্নলিখিতগুলি করুন:
- Xcode-এ, প্রজেক্ট সেটিংস > ক্যাপাবিলিটিস- এ যান।
- কীচেইন শেয়ারিং সক্ষম করুন।
- একটি কীচেইন গ্রুপ আইডেন্টিফায়ার যোগ করুন। আপনি যে সমস্ত অ্যাপের স্টেট শেয়ার করতে চান, সেগুলোর জন্য একই আইডেন্টিফায়ার ব্যবহার করুন।
প্রতিটি অ্যাপে, পূর্ববর্তী ধাপে তৈরি করা কীচেইন অ্যাক্সেস গ্রুপ বা অ্যাপ গ্রুপে অ্যাক্সেস গ্রুপটি সেট করুন।
সুইফট
do { try Auth.auth().useUserAccessGroup("TEAMID.com.example.group1") } catch let error as NSError { print("Error changing user access group: %@", error) }উদ্দেশ্য-সি
[FIRAuth.auth useUserAccessGroup:@"TEAMID.com.example.group1" error:nil];অন্তত একটি অ্যাপে যেকোনো সাইন-ইন পদ্ধতি ব্যবহার করে একজন ব্যবহারকারীকে সাইন ইন করান।
সুইফট
Auth.auth().signInAnonymously { result, error in // User signed in }উদ্দেশ্য-সি
[FIRAuth signInAnonymouslyWithCompletion:^(FIRAuthDataResult *_Nullable result, NSError *_Nullable error) { // User signed in }];অ্যাক্সেস গ্রুপের সমস্ত অ্যাপে একই বর্তমান ব্যবহারকারী উপলব্ধ।
সুইফট
var user = Auth.auth().currentUserউদ্দেশ্য-সি
FIRUser *user = FIRAuth.auth.currentUser;
একটি অ-শেয়ার করা কীচেইনে ফিরে যান
অথোরাইজেশন স্টেট শেয়ার করা বন্ধ করতে অ্যাক্সেস গ্রুপটিকে
nilএ সেট করুন।সুইফট
do { try Auth.auth().useUserAccessGroup(nil) } catch let error as NSError { print("Error changing user access group: %@", error) }উদ্দেশ্য-সি
[FIRAuth.auth useUserAccessGroup:nil error:nil];যেকোনো সাইন-ইন পদ্ধতি ব্যবহার করে একজন ব্যবহারকারীকে সাইন ইন করান। ব্যবহারকারীর অবস্থা অন্য কোনো অ্যাপের কাছে উপলব্ধ হবে না।
সুইফট
Auth.auth().signInAnonymously { result, error in // User signed in }উদ্দেশ্য-সি
[FIRAuth signInAnonymouslyWithCompletion:^(FIRAuthDataResult *_Nullable result, NSError *_Nullable error) { // User signed in }];
সাইন-ইন করা ব্যবহারকারীকে একটি শেয়ার্ড কীচেইনে স্থানান্তর করুন
ইতিমধ্যে সাইন ইন করা কোনো ব্যবহারকারীকে একটি শেয়ার্ড স্টেটে স্থানান্তর করতে:
ভবিষ্যৎ ব্যবহারের জন্য বর্তমান ব্যবহারকারীর একটি উল্লেখ তৈরি করুন।
সুইফট
var user = Auth.auth().currentUserউদ্দেশ্য-সি
FIRUser *user = FIRAuth.auth.currentUser;(ঐচ্ছিক) আপনি যে অ্যাক্সেস গ্রুপটি শেয়ার করতে চান তার অথোরাইজেশন অবস্থা যাচাই করুন।
সুইফট
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 }উদ্দেশ্য-সি
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 }প্রজেক্ট সেটিংসে পূর্বে সেট করা একটি অ্যাক্সেস গ্রুপ ব্যবহার করুন।
সুইফট
do { try Auth.auth().useUserAccessGroup(accessGroup) } catch let error as NSError { print("Error changing user access group: %@", error) }উদ্দেশ্য-সি
[FIRAuth.auth useUserAccessGroup:accessGroup error:nil];বর্তমান ব্যবহারকারীকে হালনাগাদ করুন।
সুইফট
Auth.auth().updateCurrentUser(user!) { error in // Error handling }উদ্দেশ্য-সি
[FIRAuth.auth updateCurrentUser:user completion:^(NSError * _Nullable error) { // Error handling }];এখন একই অ্যাক্সেস গ্রুপে অ্যাক্সেস থাকা অন্যান্য অ্যাপগুলো দ্বারা ব্যবহারকারীকে অ্যাক্সেস করা যাবে।