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

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

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

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

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

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

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

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

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

FIRAuth

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

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

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

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

साइन इनविद क्रेडेंशियल:पूर्णता:

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

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

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

signInWithCustomToken:पूरा:

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

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

कोड मतलब
FIRAuthErrorCodeInvalidEmail इससे पता चलता है कि ईमेल पता गलत है.
FIRAuthErrorCodeEmailAlreadyInUse यह बताता है कि साइन अप करने के लिए इस्तेमाल किया गया ईमेल पहले से मौजूद है. यह देखने के लिए कि ऐसे उपयोगकर्ता ने साइन-इन करने के कौनसे तरीके इस्तेमाल किए हैं, fetchProvidersForEmail को कॉल करें. इसके बाद, उपयोगकर्ता को इनमें से किसी एक तरीके से साइन इन करने का अनुरोध करें.
FIRAuthErrorCodeOperationNotAllowed इससे पता चलता है कि ईमेल और पासवर्ड खाते चालू नहीं हैं. इन्हें Firebase कंसोल के पुष्टि करने वाले सेक्शन में चालू करें.
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 को कॉल करें. इसके बाद, उसे साइन इन करने की सेवा देने वाली किसी भी कंपनी से साइन इन करने के लिए कहें. यह गड़बड़ी सिर्फ़ तब मिलेगी, जब पुष्टि करने की सेटिंग में, Firebase कंसोल में "हर ईमेल पते के लिए एक खाता" सेटिंग चालू हो.
FIRAuthErrorCodeUserDisabled इससे पता चलता है कि उपयोगकर्ता का खाता बंद है.

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

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

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

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

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

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

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

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

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

भेजेंईमेल पुष्टि के साथ पुष्टि:

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

DeleteWithcomplete:

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