Firebase Apple Platforms की पुष्टि से जुड़ी गड़बड़ियां ठीक करना

अगर Authentication तरीकों पर पूरा होने वाले कॉलबैक को एक NSError आर्ग्युमेंट मिलता है, शून्य नहीं है, कोई गड़बड़ी हुई है. गड़बड़ियों को ठीक करने के तरीके अपने प्रोडक्शन कोड में लॉजिक है, तो सामान्य गड़बड़ियों के लिए गड़बड़ी कोड की जांच करें और कुछ गड़बड़ियों की सूची नीचे दी गई है.

कुछ गड़बड़ियों को, उपयोगकर्ता की खास कार्रवाइयों की मदद से हल किया जा सकता है. उदाहरण के लिए, उपयोगकर्ता को साइन इन करके, FIRAuthErrorCodeUserTokenExpired को बंद किया जा सकता है फिर से अपलोड करें और FIRAuthErrorCodeWrongPassword उपयोगकर्ता से यह जानकारी दें: सही पासवर्ड.

FIRAuthErrorCodeNetworkError या FIRAuthErrorCodeTooManyRequests, वही कार्रवाई फिर से करने की कोशिश की जा रही है जो काम नहीं कर रही तर्क कभी सफल नहीं होंगे. इस बात का कोई अनुमान न लगाएं कि ऑपरेशन सर्वर साइड पर असर डाल चुका है.

गड़बड़ियों की जांच या लॉग करने के दौरान, userInfo डिक्शनरी देखें. FIRAuthErrorNameKey में क्रॉस-प्लैटफ़ॉर्म की गड़बड़ी के नाम वाली स्ट्रिंग है. इसे का इस्तेमाल गड़बड़ी की पहचान करने के लिए किया जाता है. NSLocalizedDescriptionKey में गड़बड़ी का ब्यौरा होता है. यह ब्यौरा डेवलपर के लिए है, उपयोगकर्ता के लिए नहीं. NSUnderlyingErrorKey में वह गड़बड़ी है जिसकी वजह से यह गड़बड़ी हुई है सवाल का जवाब दें.

ऊपर सूची में दिए गए मुख्य फ़ील्ड के अलावा, ऐसे अन्य फ़ील्ड भी हो सकते हैं userInfo डिक्शनरी, जिसे गड़बड़ियों का पता लगाते समय इस्तेमाल किया जा सकता है.

एपीआई के सभी तरीकों के लिए, आम तौर पर इस्तेमाल होने वाले गड़बड़ी कोड

कोड मतलब
FIRAuthErrorCodeNetworkError कार्रवाई के दौरान हुई नेटवर्क की गड़बड़ी दिखाता है.
FIRAuthErrorCodeUserNotFound इससे पता चलता है कि उपयोगकर्ता खाता नहीं मिला. ऐसा तब हो सकता है, जब उपयोगकर्ता खाता मिटा दिया गया हो.
FIRAuthErrorCodeUserTokenExpired इससे पता चलता है कि मौजूदा उपयोगकर्ता के टोकन की समयसीमा खत्म हो गई है. उदाहरण के लिए, हो सकता है कि उपयोगकर्ता ने किसी दूसरे डिवाइस पर खाते का पासवर्ड बदला हो. आपको उपयोगकर्ता से इस डिवाइस पर फिर से साइन इन करने के लिए कहना होगा.
FIRAuthErrorCodeTooManyRequests इससे पता चलता है कि कॉलर डिवाइस से Firebase Authentication के सर्वर पर असामान्य संख्या में अनुरोध करने के बाद, अनुरोध को ब्लॉक कर दिया गया है. कुछ देर बाद कोशिश करें.
FIRAuthErrorCodeInvalidAPIKey यह बताता है कि ऐप्लिकेशन को अमान्य एपीआई पासकोड से कॉन्फ़िगर किया गया है.
FIRAuthErrorCodeAppNotAuthorized इससे पता चलता है कि ऐप्लिकेशन को दी गई एपीआई कुंजी की मदद से, Firebase से पुष्टि करने की सुविधा का इस्तेमाल करने की अनुमति नहीं है. Google API कंसोल पर जाएं और क्रेडेंशियल टैब में जाकर देखें कि आपकी इस्तेमाल की जा रही एपीआई कुंजी में, आपके ऐप्लिकेशन के बंडल आईडी को व्हाइटलिस्ट में शामिल किया गया है या नहीं.
FIRAuthErrorCodeKeychainError यह नीति, Keychain को ऐक्सेस करते समय हुई किसी गड़बड़ी को दिखाती है. NSError.userInfo शब्दकोश के NSLocalizedFailureReasonErrorKey और NSUnderlyingErrorKey फ़ील्ड में, मिलने वाली गड़बड़ी के बारे में ज़्यादा जानकारी शामिल होगी.
FIRAuthErrorCodeInternalError यह बताता है कि कोई अंदरूनी गड़बड़ी हुई है. कृपया पूरे NSError ऑब्जेक्ट वाली गड़बड़ी की रिपोर्ट करें.

तरीके से जुड़े गड़बड़ी कोड

FIRAuth

<?ProvidersForEmail:पूरा होने की जानकारी:

कोड मतलब
FIRAuthErrorCodeInvalidEmail इससे पता चलता है कि ईमेल पता गलत है.

SignInWithEmail:पासवर्ड:पूर्णता:

कोड मतलब
FIRAuthErrorCodeOperationNotAllowed इससे पता चलता है कि ईमेल और पासवर्ड खाते चालू नहीं हैं. इन्हें Firebase कंसोल के पुष्टि सेक्शन में चालू करें.
FIRAuthErrorCodeInvalidEmail इससे पता चलता है कि ईमेल पता गलत है.
FIRAuthErrorCodeUserDisabled इससे पता चलता है कि उपयोगकर्ता का खाता बंद है.
FIRAuthErrorCodeWrongPassword यह बताता है कि उपयोगकर्ता ने गलत पासवर्ड से साइन इन करने की कोशिश की है.

SignInWithCredential:complete:

कोड मतलब
FIRAuthErrorCodeInvalidCredential इससे पता चलता है कि दिया गया क्रेडेंशियल अमान्य है. ऐसा तब हो सकता है, जब वीडियो की समयसीमा खत्म हो गई हो या कॉन्टेंट गलत हो.
FIRAuthErrorCodeInvalidEmail अगर क्रेडेंशियल EmailPasswordAuthCredential तरह का है, तो इससे पता चलता है कि ईमेल पता गलत है.
FIRAuthErrorCodeOperationNotAllowed इससे पता चलता है कि क्रेडेंशियल से दिखाए जाने वाले आइडेंटिटी प्रोवाइडर वाले खाते चालू नहीं हैं. इन्हें Firebase कंसोल के पुष्टि सेक्शन में चालू करें.
FIRAuthErrorCodeEmailAlreadyInUse इससे पता चलता है कि किसी मौजूदा खाते में, क्रेडेंशियल (जैसे कि Facebook ऐक्सेस टोकन में मौजूद ईमेल) के मुताबिक किस ईमेल का इस्तेमाल किया गया है. साइन इन करने के इस तरीके से, उस ईमेल की पुष्टि नहीं की जा सकती. इस उपयोगकर्ता का ईमेल पता पाने के लिए, fetchProvidersForEmail को कॉल करें. इसके बाद, उसे साइन इन करने की सेवा देने वाली किसी भी कंपनी से साइन इन करने के लिए कहें. यह गड़बड़ी तब ही दिखेगी, जब "हर ईमेल पते के लिए एक खाता" सेटिंग, Authentication सेटिंग में Firebase कंसोल में चालू है.
FIRAuthErrorCodeUserDisabled इससे पता चलता है कि उपयोगकर्ता का खाता बंद है.
FIRAuthErrorCodeWrongPassword यह बताता है कि उपयोगकर्ता ने गलत पासवर्ड से साइन इन करने की कोशिश की है. ऐसा तब होता है, जब क्रेडेंशियल EmailPasswordAuthCredential तरह का हो.

गुमनाम रूप से साइन इन न करें:

कोड मतलब
FIRAuthErrorCodeOperationNotAllowed इससे पता चलता है कि पहचान छिपाने वाले खाते चालू नहीं हैं. इन्हें Firebase कंसोल के पुष्टि सेक्शन में चालू करें.

signInWithCustomToken:पूरा:

कोड मतलब
FIRAuthErrorCodeInvalidCustomToken कस्टम टोकन में पुष्टि करने से जुड़ी गड़बड़ी दिखाता है.
FIRAuthErrorCodeCustomTokenMismatch इससे पता चलता है कि सेवा खाता और एपीआई पासकोड अलग-अलग प्रोजेक्ट से जुड़ा है.

createUserWithEmail:पासवर्ड:पूर्णता:

कोड मतलब
FIRAuthErrorCodeInvalidEmail इससे पता चलता है कि ईमेल पता गलत है.
FIRAuthErrorCodeEmailAlreadyInUse यह बताता है कि साइन अप करने के लिए इस्तेमाल किया गया ईमेल पहले से मौजूद है. fetchProvidersForEmail को कॉल करके देखें कि ऐसे उपयोगकर्ता ने साइन-इन करने के कौनसे तरीके इस्तेमाल किए हैं. इसके बाद, उपयोगकर्ता को इनमें से किसी एक तरीके से साइन इन करने का अनुरोध करें.
FIRAuthErrorCodeOperationNotAllowed इससे पता चलता है कि ईमेल और पासवर्ड खाते चालू नहीं हैं. इन्हें Firebase कंसोल के Authentication सेक्शन में चालू करें.
FIRAuthErrorCodeWeakPassword बहुत कमज़ोर पासवर्ड को सेट करने की कोशिश को दिखाता है. NSError.userInfo डिक्शनरी ऑब्जेक्ट के NSLocalizedFailureReasonErrorKey फ़ील्ड में, ज़्यादा जानकारी शामिल होगी. यह जानकारी उपयोगकर्ता को दिखाई जा सकती है.

साइनआउट:

कोड मतलब
FIRAuthErrorCodeKeychainError कीचेन ऐक्सेस करते समय कोई गड़बड़ी हुई, यह बताया गया. NSError.userInfo शब्दकोश के NSLocalizedFailureReasonErrorKey और NSUnderlyingErrorKey फ़ील्ड में, मिलने वाली गड़बड़ी के बारे में ज़्यादा जानकारी शामिल होगी.

FIRUser

FIRUser की कार्रवाइयों में आम तौर पर होने वाली गड़बड़ियां

कोड मतलब
FIRAuthErrorCodeInvalidUserToken इससे पता चलता है कि साइन इन किए हुए उपयोगकर्ता का रीफ़्रेश टोकन अमान्य है. इसमें सेशन की जानकारी होती है. आपको उपयोगकर्ता से इस डिवाइस पर फिर से साइन इन करने के लिए कहना होगा.
FIRAuthErrorCodeUserDisabled इससे पता चलता है कि उपयोगकर्ता का खाता बंद है और इसे तब तक इस्तेमाल नहीं किया जा सकता, जब तक कि Firebase कंसोल के उपयोगकर्ता पैनल में इसे फिर से चालू न किया जाए.

फिर से प्रमाणित करें मदद से पुष्टि करना:पूरा होना:

कोड मतलब
FIRAuthErrorCodeInvalidCredential इससे पता चलता है कि दिया गया क्रेडेंशियल अमान्य है. ऐसा तब हो सकता है, जब वीडियो की समयसीमा खत्म हो गई हो या कॉन्टेंट गलत हो.
FIRAuthErrorCodeInvalidEmail अगर क्रेडेंशियल EmailPasswordAuthCredential तरह का है, तो इससे पता चलता है कि ईमेल पता गलत है.
FIRAuthErrorCodeWrongPassword यह बताता है कि उपयोगकर्ता ने गलत पासवर्ड से फिर से पुष्टि करने की कोशिश की है. ऐसा तब होता है, जब क्रेडेंशियल EmailPasswordAuthCredential तरह का हो.
FIRAuthErrorCodeUserMismatch इससे पता चलता है कि ऐसे उपयोगकर्ता की फिर से पुष्टि करने की कोशिश की गई थी जो मौजूदा उपयोगकर्ता नहीं है.
FIRAuthErrorCodeOperationNotAllowed इससे पता चलता है कि क्रेडेंशियल से दिखाए जाने वाले आइडेंटिटी प्रोवाइडर वाले खाते चालू नहीं हैं. इन्हें Firebase कंसोल के पुष्टि सेक्शन में चालू करें.
FIRAuthErrorCodeEmailAlreadyInUse इससे पता चलता है कि किसी मौजूदा खाते में, क्रेडेंशियल (जैसे कि Facebook ऐक्सेस टोकन में मौजूद ईमेल) के मुताबिक किस ईमेल का इस्तेमाल हो रहा है. साइन इन करने के इस तरीके से, उस ईमेल की फिर से पुष्टि नहीं की जा सकती. इस उपयोगकर्ता का ईमेल पता पाने के लिए, fetchProvidersForEmail को कॉल करें. इसके बाद, उसे साइन इन करने की सेवा देने वाली किसी भी कंपनी से साइन इन करने के लिए कहें. यह गड़बड़ी तब ही दिखेगी, जब "हर ईमेल पते के लिए एक खाता" सेटिंग, Authentication सेटिंग में Firebase कंसोल में चालू है.
FIRAuthErrorCodeUserDisabled इससे पता चलता है कि उपयोगकर्ता का खाता बंद है.

अपडेट ईमेल:पूर्णता:

कोड मतलब
FIRAuthErrorCodeEmailAlreadyInUse इससे पता चलता है कि इस ईमेल पते का इस्तेमाल पहले से ही किसी दूसरे खाते के लिए किया जा रहा है.
FIRAuthErrorCodeInvalidEmail इससे पता चलता है कि ईमेल पता गलत है.
FIRAuthErrorCodeRequiresRecentLogin किसी उपयोगकर्ता के ईमेल पते को अपडेट करना, सुरक्षा से जुड़ी एक संवेदनशील कार्रवाई है. इसके लिए, उपयोगकर्ता को हाल ही में लॉगिन करना होगा. यह गड़बड़ी बताती है कि उपयोगकर्ता ने हाल ही में साइन इन नहीं किया है. समाधान करने के लिए, FIRUser पर reauthenticateWithCredential:completion: चालू करके उपयोगकर्ता की फिर से पुष्टि करें.

अपडेट पासवर्ड:पूर्णता:

कोड मतलब
FIRAuthErrorCodeOperationNotAllowed इससे पता चलता है कि एडमिन ने दिए गए आइडेंटिटी प्रोवाइडर से साइन इन करने की सुविधा को बंद कर दिया है.
FIRAuthErrorCodeRequiresRecentLogin किसी उपयोगकर्ता के पासवर्ड को अपडेट करना, सुरक्षा से जुड़ी एक संवेदनशील कार्रवाई है. इसके लिए उपयोगकर्ता को हाल ही में लॉगिन करना पड़ता है. यह गड़बड़ी बताती है कि उपयोगकर्ता ने हाल ही में साइन इन नहीं किया है. समाधान करने के लिए, FIRUser पर reauthenticateWithCredential:completion: चालू करके उपयोगकर्ता की फिर से पुष्टि करें.
FIRAuthErrorCodeWeakPassword बहुत कमज़ोर पासवर्ड को सेट करने की कोशिश को दिखाता है. NSError.userInfo डिक्शनरी ऑब्जेक्ट के NSLocalizedFailureReasonErrorKey फ़ील्ड में, ज़्यादा जानकारी शामिल होगी. यह जानकारी उपयोगकर्ता को दिखाई जा सकती है.

लिंक के साथ क्रेडेंशियल:पूरा होने की जानकारी:

कोड मतलब
FIRAuthErrorCodeProviderAlreadyLinked यह दिखाता है कि इस खाते से पहले से ही लिंक की गई, सेवा देने वाली किसी कंपनी को लिंक करने की कोशिश की गई है.
FIRAuthErrorCodeCredentialAlreadyInUse यह क्रेडेंशियल, लिंक करने की कोशिश के बारे में बताता है, जो पहले ही किसी दूसरे Firebase खाते से लिंक किया जा चुका है.
FIRAuthErrorCodeOperationNotAllowed इससे पता चलता है कि क्रेडेंशियल से दिखाए जाने वाले आइडेंटिटी प्रोवाइडर वाले खाते चालू नहीं हैं. इन्हें Firebase कंसोल के पुष्टि सेक्शन में चालू करें.

इस तरीके से, updateEmail:completion: और इससे जुड़े गड़बड़ी के कोड भी दिख सकते हैं FIRUser को updatePassword:completion:.

अनलिंक करने वाले:

कोड मतलब
FIRAuthErrorCodeNoSuchProvider यह खाते से लिंक नहीं की गई सेवा देने वाली कंपनी को अलग करने की कोशिश करता है.
FIRAuthErrorCodeRequiresRecentLogin ईमेल अपडेट करना, सुरक्षा से जुड़ी एक संवेदनशील कार्रवाई है. इसके लिए उपयोगकर्ता को हाल ही में लॉगिन करना पड़ता है. यह गड़बड़ी बताती है कि उपयोगकर्ता ने हाल ही में साइन इन नहीं किया है. समाधान करने के लिए, FIRUser पर reauthenticateWithCredential:completion: चालू करके उपयोगकर्ता की फिर से पुष्टि करें.

sendEmail verificationWithcomplete:

कोड मतलब
FIRAuthErrorCodeUserNotFound इससे पता चलता है कि उपयोगकर्ता खाता नहीं मिला.

DeleteWithcomplete:

कोड मतलब
FIRAuthErrorCodeRequiresRecentLogin किसी उपयोगकर्ता खाते को मिटाना, सुरक्षा से जुड़ी एक संवेदनशील कार्रवाई है. इसके लिए, उपयोगकर्ता को हाल ही में लॉगिन करना पड़ता है. यह गड़बड़ी बताती है कि उपयोगकर्ता ने हाल ही में साइन इन नहीं किया है. समाधान करने के लिए, FIRUser पर reauthenticateWithCredential:completion: चालू करके उपयोगकर्ता की फिर से पुष्टि करें.