Firebase Apple প্ল্যাটফর্ম প্রমাণীকরণ ত্রুটিগুলি পরিচালনা করুন৷

যদি Authentication মেথডের কমপ্লিশন কলব্যাকে nil নয় এমন কোনো NSError আর্গুমেন্ট আসে, তাহলে একটি ত্রুটি ঘটেছে। আপনার প্রোডাকশন কোডে যথাযথ ত্রুটি-পরিচালনা লজিকে ব্যবস্থা নিতে, নিচে তালিকাভুক্ত সাধারণ ত্রুটি এবং মেথড-নির্দিষ্ট ত্রুটিগুলোর সাথে এরর কোডটি মিলিয়ে দেখুন।

কিছু ত্রুটি ব্যবহারকারীর নির্দিষ্ট কিছু পদক্ষেপের মাধ্যমে সমাধান করা যেতে পারে, যেমন, FIRAuthErrorCodeUserTokenExpired ব্যবহারকারীকে পুনরায় সাইন ইন করার মাধ্যমে এবং FIRAuthErrorCodeWrongPassword ব্যবহারকারীকে সঠিক পাসওয়ার্ড দিতে বলার মাধ্যমে সমাধান করা যায়।

FIRAuthErrorCodeNetworkError বা FIRAuthErrorCodeTooManyRequests এর ক্ষেত্র ব্যতীত, একই আর্গুমেন্ট দিয়ে একটি ব্যর্থ অপারেশন পুনরায় চেষ্টা করলে তা কখনই সফল হবে না। অপারেশনটি সার্ভার সাইডে কার্যকর হয়েছে কি না, সে বিষয়ে কোনো অনুমান করবেন না।

ত্রুটি তদন্ত বা লগ করার সময়, userInfo ডিকশনারিটি পর্যালোচনা করুন। FIRAuthErrorNameKey তে একটি ক্রস-প্ল্যাটফর্ম ত্রুটির নামের স্ট্রিং থাকে যা ত্রুটিটি শনাক্ত করার জন্য ব্যবহার করা যেতে পারে। NSLocalizedDescriptionKey ত্রুটিটির একটি বিবরণ থাকে। এই বিবরণটি ডেভেলপারের জন্য, ব্যবহারকারীর জন্য নয়। যদি কোনো অন্তর্নিহিত ত্রুটি থাকে, তবে NSUnderlyingErrorKey সেই অন্তর্নিহিত ত্রুটিটি থাকে যা আলোচ্য ত্রুটিটির কারণ হয়েছে।

উপরে তালিকাভুক্ত প্রধান ফিল্ডগুলো ছাড়াও, userInfo ডিকশনারিতে অন্যান্য ফিল্ডও থাকতে পারে যা ত্রুটি নির্ণয়ের সময় আপনার কাজে লাগতে পারে।

সকল API পদ্ধতির জন্য সাধারণ ত্রুটি কোড

কোড অর্থ
FIRAuthErrorCodeNetworkError এটি নির্দেশ করে যে কার্যক্রম চলাকালীন একটি নেটওয়ার্ক ত্রুটি ঘটেছে।
FIRAuthErrorCodeUserNotFound ব্যবহারকারীর অ্যাকাউন্টটি খুঁজে পাওয়া যায়নি। ব্যবহারকারীর অ্যাকাউন্টটি মুছে ফেলা হলে এমনটা হতে পারে।
FIRAuthErrorCodeUserTokenExpired এটি নির্দেশ করে যে বর্তমান ব্যবহারকারীর টোকেনের মেয়াদ শেষ হয়ে গেছে, যেমন, ব্যবহারকারী হয়তো অন্য কোনো ডিভাইসে অ্যাকাউন্টের পাসওয়ার্ড পরিবর্তন করেছেন। আপনাকে অবশ্যই ব্যবহারকারীকে এই ডিভাইসে পুনরায় সাইন ইন করার জন্য অনুরোধ করতে হবে।
FIRAuthErrorCodeTooManyRequests এটি নির্দেশ করে যে, কলার ডিভাইস থেকে Firebase Authentication সার্ভারগুলিতে অস্বাভাবিক সংখ্যক অনুরোধ করার কারণে অনুরোধটি ব্লক করা হয়েছে। কিছুক্ষণ পর আবার চেষ্টা করুন।
FIRAuthErrorCodeInvalidAPIKey এটি নির্দেশ করে যে অ্যাপ্লিকেশনটি একটি অবৈধ এপিআই কী দিয়ে কনফিগার করা হয়েছে।
FIRAuthErrorCodeAppNotAuthorized এটি নির্দেশ করে যে, প্রদত্ত এপিআই কী (API Key) দিয়ে ফায়ারবেস অথেনটিকেশন (Firebase Authentication) ব্যবহার করার জন্য অ্যাপটি অনুমোদিত নয়। গুগল এপিআই কনসোলে (Google API Console) যান এবং ক্রেডেনশিয়ালস (credentials) ট্যাবের অধীনে পরীক্ষা করে দেখুন যে, আপনার ব্যবহৃত এপিআই কী-তে আপনার অ্যাপ্লিকেশনের বান্ডেল আইডি (bundle ID) হোয়াইটলিস্টেড (whitelisted) আছে কিনা।
FIRAuthErrorCodeKeychainError কীচেইন অ্যাক্সেস করার সময় একটি ত্রুটি ঘটেছে। NSError.userInfo ডিকশনারির NSLocalizedFailureReasonErrorKey এবং NSUnderlyingErrorKey ফিল্ডগুলিতে সম্মুখীন হওয়া ত্রুটি সম্পর্কে আরও তথ্য থাকবে।
FIRAuthErrorCodeInternalError একটি অভ্যন্তরীণ ত্রুটি ঘটেছে। অনুগ্রহ করে সম্পূর্ণ NSError অবজেক্টটি সহ ত্রুটিটি জানান

পদ্ধতি-নির্দিষ্ট ত্রুটি কোড

FIRAuth

ইমেইলের জন্য প্রোভাইডারদের আনুন:সম্পূর্ণতা:

কোড অর্থ
FIRAuthErrorCodeInvalidEmail এটি নির্দেশ করে যে ইমেল ঠিকানাটি ত্রুটিপূর্ণ।

ইমেইল দিয়ে সাইন ইন করুন: পাসওয়ার্ড: সম্পূর্ণতা:

কোড অর্থ
FIRAuthErrorCodeOperationNotAllowed এটি নির্দেশ করে যে ইমেল এবং পাসওয়ার্ড অ্যাকাউন্টগুলি সক্রিয় করা নেই। Firebase কনসোলে এগুলি সক্রিয় করুন ( Security > Authentication > Sign-in method ট্যাবে যান)।
FIRAuthErrorCodeInvalidEmail এটি নির্দেশ করে যে ইমেল ঠিকানাটি ত্রুটিপূর্ণ।
FIRAuthErrorCodeUserDisabled ব্যবহারকারীর অ্যাকাউন্টটি নিষ্ক্রিয় করা হয়েছে।
FIRAuthErrorCodeWrongPassword এটি নির্দেশ করে যে ব্যবহারকারী ভুল পাসওয়ার্ড দিয়ে সাইন ইন করার চেষ্টা করেছেন।

ক্রেডেনশিয়াল দিয়ে সাইন ইন করুন:সম্পূর্ণতা:

কোড অর্থ
FIRAuthErrorCodeInvalidCredential এটি নির্দেশ করে যে প্রদত্ত পরিচয়পত্রটি অবৈধ। এর মেয়াদ শেষ হয়ে গেলে বা এটি ত্রুটিপূর্ণ হলে এমনটি হতে পারে।
FIRAuthErrorCodeInvalidEmail যদি ক্রেডেনশিয়ালটি EmailPasswordAuthCredential ধরনের হয়, তবে এটি নির্দেশ করে যে ইমেল ঠিকানাটি ভুলভাবে গঠিত।
FIRAuthErrorCodeOperationNotAllowed এটি নির্দেশ করে যে ক্রেডেনশিয়াল দ্বারা প্রতিনিধিত্ব করা আইডেন্টিটি প্রোভাইডারের অ্যাকাউন্টগুলি সক্রিয় করা নেই। Firebase কনসোলে সেগুলি সক্রিয় করুন ( Security > Authentication > Sign-in method ট্যাবে যান)।
FIRAuthErrorCodeEmailAlreadyInUse এটি নির্দেশ করে যে ক্রেডেনশিয়াল দ্বারা ব্যবহৃত ইমেলটি (যেমন ফেসবুক অ্যাক্সেস টোকেনের ইমেল) ইতিমধ্যেই একটি বিদ্যমান অ্যাকাউন্ট দ্বারা ব্যবহৃত হচ্ছে, যা এই সাইন-ইন পদ্ধতি দ্বারা প্রমাণীকরণ করা যাবে না। এই ব্যবহারকারীর ইমেলের জন্য fetchProvidersForEmail কল করুন এবং তারপরে ফেরত আসা যেকোনো সাইন-ইন প্রোভাইডার দিয়ে তাদের সাইন ইন করতে বলুন। এই ত্রুটিটি কেবল তখনই দেখা দেবে যদি Firebase কনসোলে "প্রতিটি ইমেল ঠিকানার জন্য একটি অ্যাকাউন্ট" বিকল্পটি সক্রিয় করা থাকে ( Security > Authentication > Settings ট্যাবে যান)।
FIRAuthErrorCodeUserDisabled ব্যবহারকারীর অ্যাকাউন্টটি নিষ্ক্রিয় করা হয়েছে।
FIRAuthErrorCodeWrongPassword যদি ক্রেডেনশিয়ালটি EmailPasswordAuthCredential ধরনের হয়, তবে এটি নির্দেশ করে যে ব্যবহারকারী ভুল পাসওয়ার্ড দিয়ে সাইন ইন করার চেষ্টা করেছেন।

সম্পূর্ণ হলে বেনামে সাইন ইন করুন:

কোড অর্থ
FIRAuthErrorCodeOperationNotAllowed এটি নির্দেশ করে যে বেনামী অ্যাকাউন্টগুলি সক্রিয় করা নেই। Firebase কনসোলে সেগুলি সক্রিয় করুন ( Security > Authentication > Sign-in method ট্যাবে যান)।

কাস্টম টোকেন দিয়ে সাইন ইন করুন:সম্পূর্ণতা:

কোড অর্থ
FIRAuthErrorCodeInvalidCustomToken কাস্টম টোকেনটির যাচাইকরণে ত্রুটি নির্দেশ করে।
FIRAuthErrorCodeCustomTokenMismatch এটি নির্দেশ করে যে সার্ভিস অ্যাকাউন্ট এবং এপিআই কী ভিন্ন ভিন্ন প্রজেক্টের অন্তর্গত।

ইমেল দিয়ে ব্যবহারকারী তৈরি করুন:পাসওয়ার্ড:সম্পূর্ণতা

কোড অর্থ
FIRAuthErrorCodeInvalidEmail এটি নির্দেশ করে যে ইমেল ঠিকানাটি ত্রুটিপূর্ণ।
FIRAuthErrorCodeEmailAlreadyInUse এটি নির্দেশ করে যে সাইন আপ করার জন্য ব্যবহৃত ইমেলটি ইতিমধ্যেই বিদ্যমান। উক্ত ব্যবহারকারী কোন কোন সাইন-ইন পদ্ধতি ব্যবহার করেছেন তা পরীক্ষা করতে fetchProvidersForEmail কল করুন, এবং ব্যবহারকারীকে সেগুলোর মধ্যে একটি দিয়ে সাইন ইন করতে অনুরোধ করুন।
FIRAuthErrorCodeOperationNotAllowed এটি নির্দেশ করে যে ইমেল এবং পাসওয়ার্ড অ্যাকাউন্টগুলি সক্রিয় করা নেই। Firebase কনসোলে এগুলি সক্রিয় করুন ( Security > Authentication > Sign-in method ট্যাবে যান)।
FIRAuthErrorCodeWeakPassword এটি এমন একটি পাসওয়ার্ড সেট করার প্রচেষ্টাকে নির্দেশ করে যা অত্যন্ত দুর্বল বলে বিবেচিত। NSError.userInfo ডিকশনারি অবজেক্টের NSLocalizedFailureReasonErrorKey ফিল্ডটিতে আরও বিস্তারিত ব্যাখ্যা থাকবে যা ব্যবহারকারীকে দেখানো যেতে পারে।

সাইন আউট:

কোড অর্থ
FIRAuthErrorCodeKeychainError কীচেইন অ্যাক্সেস করার সময় একটি ত্রুটি ঘটেছে বলে জানানো হয়েছে। NSError.userInfo ডিকশনারির NSLocalizedFailureReasonErrorKey এবং NSUnderlyingErrorKey ফিল্ডগুলোতে সম্মুখীন হওয়া ত্রুটি সম্পর্কে আরও তথ্য থাকবে।

FIRUser

FIRUser অপারেশনের সাধারণ ত্রুটিসমূহ

কোড অর্থ
FIRAuthErrorCodeInvalidUserToken এটি নির্দেশ করে যে সাইন-ইন করা ব্যবহারকারীর রিফ্রেশ টোকেন, যা সেশনের তথ্য ধারণ করে, তা অবৈধ। আপনাকে অবশ্যই ব্যবহারকারীকে এই ডিভাইসে পুনরায় সাইন ইন করতে অনুরোধ করতে হবে।
FIRAuthErrorCodeUserDisabled এটি নির্দেশ করে যে ব্যবহারকারীর অ্যাকাউন্টটি নিষ্ক্রিয় করা হয়েছে এবং Firebase কনসোলে ( Security > Authentication > Users ট্যাবে যান) পুনরায় সক্রিয় না করা পর্যন্ত এটি আর ব্যবহার করা যাবে না।

ক্রেডেনশিয়াল দিয়ে পুনরায় প্রমাণীকরণ:সম্পূর্ণতা:

কোড অর্থ
FIRAuthErrorCodeInvalidCredential এটি নির্দেশ করে যে প্রদত্ত পরিচয়পত্রটি অবৈধ। এর মেয়াদ শেষ হয়ে গেলে বা এটি ত্রুটিপূর্ণ হলে এমনটি হতে পারে।
FIRAuthErrorCodeInvalidEmail যদি ক্রেডেনশিয়ালটি EmailPasswordAuthCredential ধরনের হয়, তবে এটি নির্দেশ করে যে ইমেল ঠিকানাটি ভুলভাবে গঠিত।
FIRAuthErrorCodeWrongPassword যদি ক্রেডেনশিয়ালটি EmailPasswordAuthCredential টাইপের হয়, তবে এটি নির্দেশ করে যে ব্যবহারকারী একটি ভুল পাসওয়ার্ড দিয়ে পুনরায় প্রমাণীকরণের চেষ্টা করেছেন।
FIRAuthErrorCodeUserMismatch এটি নির্দেশ করে যে বর্তমান ব্যবহারকারী নন এমন অন্য কোনো ব্যবহারকারীকে দিয়ে পুনরায় প্রমাণীকরণের চেষ্টা করা হয়েছিল।
FIRAuthErrorCodeOperationNotAllowed এটি নির্দেশ করে যে ক্রেডেনশিয়াল দ্বারা প্রতিনিধিত্ব করা আইডেন্টিটি প্রোভাইডারের অ্যাকাউন্টগুলো সক্রিয় করা নেই। Firebase কনসোলে গিয়ে সেগুলো সক্রিয় করুন ( Security > Authentication- এ যান)।
FIRAuthErrorCodeEmailAlreadyInUse এটি নির্দেশ করে যে ক্রেডেনশিয়াল দ্বারা ব্যবহৃত ইমেলটি (যেমন ফেসবুক অ্যাক্সেস টোকেনের ইমেল) ইতিমধ্যেই একটি বিদ্যমান অ্যাকাউন্ট দ্বারা ব্যবহৃত হচ্ছে, এবং এই সাইন-ইন পদ্ধতি ব্যবহার করে সেটিকে পুনরায় প্রমাণীকরণ করা যাবে না। এই ব্যবহারকারীর ইমেলের জন্য fetchProvidersForEmail কল করুন এবং তারপরে প্রাপ্ত যেকোনো সাইন-ইন প্রোভাইডার ব্যবহার করে তাকে সাইন ইন করতে বলুন। এই ত্রুটিটি কেবল তখনই দেখা দেবে যদি Firebase কনসোলে "প্রতিটি ইমেল ঠিকানার জন্য একটি অ্যাকাউন্ট" বিকল্পটি সক্রিয় করা থাকে ( Security > Authentication > Settings ট্যাবে যান)।
FIRAuthErrorCodeUserDisabled ব্যবহারকারীর অ্যাকাউন্টটি নিষ্ক্রিয় করা হয়েছে।

ইমেল আপডেট করুন:সম্পূর্ণতা:

কোড অর্থ
FIRAuthErrorCodeEmailAlreadyInUse এটি নির্দেশ করে যে ইমেলটি ইতিমধ্যেই অন্য একটি অ্যাকাউন্ট দ্বারা ব্যবহৃত হচ্ছে।
FIRAuthErrorCodeInvalidEmail এটি নির্দেশ করে যে ইমেল ঠিকানাটি ত্রুটিপূর্ণ।
FIRAuthErrorCodeRequiresRecentLogin ব্যবহারকারীর ইমেল আপডেট করা একটি নিরাপত্তা-সংবেদনশীল কার্যক্রম, যার জন্য ব্যবহারকারীর সাম্প্রতিক লগইন প্রয়োজন। এই ত্রুটিটি নির্দেশ করে যে ব্যবহারকারী যথেষ্ট সম্প্রতি সাইন ইন করেননি। এর সমাধান করতে, FIRUser উপর reauthenticateWithCredential:completion: কল করে ব্যবহারকারীকে পুনরায় প্রমাণীকরণ করুন।

পাসওয়ার্ড আপডেট:সম্পূর্ণতা:

কোড অর্থ
FIRAuthErrorCodeOperationNotAllowed এটি নির্দেশ করে যে প্রশাসক নির্দিষ্ট আইডেন্টিটি প্রোভাইডার ব্যবহার করে সাইন ইন করা নিষ্ক্রিয় করেছেন।
FIRAuthErrorCodeRequiresRecentLogin ব্যবহারকারীর পাসওয়ার্ড আপডেট করা একটি নিরাপত্তা-সংবেদনশীল প্রক্রিয়া, যার জন্য ব্যবহারকারীর সাম্প্রতিক লগইন প্রয়োজন। এই ত্রুটিটি নির্দেশ করে যে ব্যবহারকারী যথেষ্ট সম্প্রতি সাইন ইন করেননি। এর সমাধান করতে, FIRUser উপর reauthenticateWithCredential:completion: কল করে ব্যবহারকারীকে পুনরায় প্রমাণীকরণ করুন।
FIRAuthErrorCodeWeakPassword এটি এমন একটি পাসওয়ার্ড সেট করার প্রচেষ্টাকে নির্দেশ করে যা অত্যন্ত দুর্বল বলে বিবেচিত। NSError.userInfo ডিকশনারি অবজেক্টের NSLocalizedFailureReasonErrorKey ফিল্ডটিতে আরও বিস্তারিত ব্যাখ্যা থাকবে যা ব্যবহারকারীকে দেখানো যেতে পারে।

linkWithCredential:সম্পূর্ণতা:

কোড অর্থ
FIRAuthErrorCodeProviderAlreadyLinked এটি এমন এক ধরনের প্রদানকারীকে সংযুক্ত করার প্রচেষ্টা নির্দেশ করে, যা ইতিমধ্যেই এই অ্যাকাউন্টের সাথে সংযুক্ত।
FIRAuthErrorCodeCredentialAlreadyInUse এটি এমন একটি ক্রেডেনশিয়াল দিয়ে লিঙ্ক করার প্রচেষ্টাকে নির্দেশ করে যা ইতিমধ্যেই অন্য একটি Firebase অ্যাকাউন্টের সাথে লিঙ্ক করা আছে।
FIRAuthErrorCodeOperationNotAllowed এটি নির্দেশ করে যে ক্রেডেনশিয়াল দ্বারা প্রতিনিধিত্ব করা আইডেন্টিটি প্রোভাইডারের অ্যাকাউন্টগুলি সক্রিয় করা নেই। Firebase কনসোলে সেগুলি সক্রিয় করুন ( Security > Authentication > Sign-in method ট্যাবে যান)।

এই পদ্ধতিটি FIRUserupdateEmail:completion: এবং updatePassword:completion: এর সাথে সম্পর্কিত ত্রুটি কোডগুলিও ফেরত দিতে পারে।

unlinkFromProvider:সম্পূর্ণতা:

কোড অর্থ
FIRAuthErrorCodeNoSuchProvider এমন কোনো প্রোভাইডারকে আনলিঙ্ক করার প্রচেষ্টা নির্দেশ করে, যা অ্যাকাউন্টটির সাথে লিঙ্ক করা নেই।
FIRAuthErrorCodeRequiresRecentLogin ইমেল আপডেট করা একটি নিরাপত্তা-সংবেদনশীল কার্যক্রম, যার জন্য ব্যবহারকারীর সাম্প্রতিক লগইন প্রয়োজন। এই ত্রুটিটি নির্দেশ করে যে ব্যবহারকারী যথেষ্ট সম্প্রতি সাইন ইন করেননি। এর সমাধান করতে, FIRUser উপর reauthenticateWithCredential:completion: কল করে ব্যবহারকারীকে পুনরায় প্রমাণীকরণ করুন।

sendEmailVerificationWithCompletion:

কোড অর্থ
FIRAuthErrorCodeUserNotFound ব্যবহারকারীর অ্যাকাউন্টটি খুঁজে পাওয়া যায়নি।

deleteWithCompletion:

কোড অর্থ
FIRAuthErrorCodeRequiresRecentLogin ব্যবহারকারীর অ্যাকাউন্ট মুছে ফেলা একটি নিরাপত্তা-সংবেদনশীল প্রক্রিয়া, যার জন্য ব্যবহারকারীর সাম্প্রতিক লগইন প্রয়োজন। এই ত্রুটিটি নির্দেশ করে যে ব্যবহারকারী যথেষ্ট সম্প্রতি সাইন ইন করেননি। এর সমাধান করতে, FIRUser উপর reauthenticateWithCredential:completion: কল করে ব্যবহারকারীকে পুনরায় প্রমাণীকরণ করুন।