Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

फायरबेस आईओएस प्रामाणिक त्रुटियों को संभालें

यदि प्रमाणीकरण विधियों पर पूर्ण कॉलबैक NSError तर्क प्राप्त करता है जो शून्य नहीं है, तो एक त्रुटि उत्पन्न हुई है। अपने उत्पादन कोड में उचित त्रुटि-प्रबंधन तर्क को भेजने के लिए, नीचे सूचीबद्ध सामान्य त्रुटियों और विधि विशिष्ट त्रुटियों के विरुद्ध त्रुटि कोड की जांच करें।

कुछ त्रुटियों को विशेष उपयोगकर्ता क्रियाओं द्वारा हल किया जा सकता है, उदाहरण के लिए, FIRAuthErrorCodeUserTokenExpired को उपयोगकर्ता को फिर से साइन इन करके और FIRAuthErrorCodeWrongPassword को उपयोगकर्ता को सही पासवर्ड प्रदान करने के लिए FIRAuthErrorCodeWrongPassword हल किया जा सकता है।

FIRAuthErrorCodeNetworkError या FIRAuthErrorCodeTooManyRequests के मामले को छोड़कर, एक ही तर्क के साथ एक असफल ऑपरेशन का पुन: प्रयास करना कभी भी सफल नहीं होगा। सर्वर साइड पर ऑपरेशन प्रभावी हुआ है या नहीं, इस पर कोई धारणा न बनाएं।

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

ऊपर सूचीबद्ध मुख्य क्षेत्रों के अलावा, userInfo शब्दकोश में अन्य फ़ील्ड भी हो सकते हैं जो आपको त्रुटियों का निदान करते समय उपयोगी लग सकते हैं।

सभी एपीआई विधियों के लिए सामान्य त्रुटि कोड

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

विधि विशिष्ट त्रुटि कोड

FIRAuth

fetchProvidersForEmail: पूर्णता:

कोड जिसका अर्थ है
FIRAuthErrorCodeInvalidEmail इंगित करता है कि ईमेल पता विकृत है।

साइनइनविथईमेल:पासवर्ड:पूर्णता:

कोड जिसका अर्थ है
FIRAuthErrorCodeOperationNotAllowed इंगित करता है कि ईमेल और पासवर्ड खाते सक्षम नहीं हैं। उन्हें Firebase कंसोल के प्रामाणिक अनुभाग में सक्षम करें।
FIRAuthErrorCodeInvalidEmail इंगित करता है कि ईमेल पता विकृत है।
FIRAuthErrorCodeUserDisabled इंगित करता है कि उपयोगकर्ता का खाता अक्षम है।
FIRAuthErrorCodeWrongPassword यह इंगित करता है कि उपयोगकर्ता ने गलत पासवर्ड से साइन इन करने का प्रयास किया है।

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

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

साइनइनअनाम रूप सेपूर्णता के साथ:

कोड जिसका अर्थ है
FIRAuthErrorCodeOperationNotAllowed इंगित करता है कि अनाम खाते सक्षम नहीं हैं। उन्हें Firebase कंसोल के प्रामाणिक अनुभाग में सक्षम करें।

साइनइनविथकस्टमटोकन: पूर्णता:

कोड जिसका अर्थ है
FIRAuthErrorCodeInvalidCustomToken कस्टम टोकन के साथ सत्यापन त्रुटि इंगित करता है।
FIRAuthErrorCodeCustomTokenMismatch सेवा खाते को इंगित करता है और एपीआई कुंजी विभिन्न परियोजनाओं से संबंधित है।

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

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

प्रस्थान करें:

कोड जिसका अर्थ है
FIRAuthErrorCodeKeychainError चाबी का गुच्छा तक पहुँचने के दौरान एक त्रुटि का संकेत दिया। NSError.userInfo शब्दकोश में NSLocalizedFailureReasonErrorKey और NSUnderlyingErrorKey फ़ील्ड में आई त्रुटि के बारे में अधिक जानकारी होगी।

FIRUser

FIRUser संचालन के लिए सामान्य त्रुटियाँ

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

क्रेडेंशियल के साथ पुनः प्रमाणित करें: पूर्णता:

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

अद्यतन ईमेल: पूर्णता:

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

अद्यतन पासवर्ड: पूर्णता:

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

लिंकविथक्रेडेंशियल: पूर्णता:

कोड जिसका अर्थ है
FIRAuthErrorCodeProviderAlreadyLinked इस खाते से पहले से लिंक किए गए एक प्रकार के प्रदाता को लिंक करने के प्रयास को इंगित करता है।
FIRAuthErrorCodeCredentialAlreadyInUse किसी ऐसे क्रेडेंशियल से लिंक करने के प्रयास का संकेत देता है जिसे पहले ही किसी भिन्न Firebase खाते से लिंक किया जा चुका है।
FIRAuthErrorCodeOperationNotAllowed इंगित करता है कि क्रेडेंशियल द्वारा दर्शाए गए पहचान प्रदाता वाले खाते सक्षम नहीं हैं। उन्हें Firebase कंसोल के प्रामाणिक अनुभाग में सक्षम करें।

इस विधि भी साथ जुड़े त्रुटि कोड वापस आ सकते हैं updateEmail:completion: और updatePassword:completion: पर FIRUser

अनलिंकफ्रॉमप्रोवाइडर: पूर्णता:

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

ईमेल भेजें सत्यापन के साथ पूर्णता:

कोड जिसका अर्थ है
FIRAuthErrorCodeUserNotFound इंगित करता है कि उपयोगकर्ता खाता नहीं मिला।

पूरा करने के साथ हटाएं:

कोड जिसका अर्थ है
FIRAuthErrorCodeRequiresRecentLogin उपयोगकर्ता खाते को हटाना एक सुरक्षा संवेदनशील ऑपरेशन है जिसके लिए उपयोगकर्ता से हाल ही में लॉगिन की आवश्यकता होती है। यह त्रुटि इंगित करती है कि उपयोगकर्ता ने हाल ही में पर्याप्त रूप से साइन इन नहीं किया है। हल करने के लिए, FIRUser पर reauthenticateWithCredential:completion: को लागू करके उपयोगकर्ता को फिर से reauthenticateWithCredential:completion: