bookmark_borderbookmark
Stay organized with collections
Save and categorize content based on your preferences.
The error thrown when the user needs to provide a second factor to sign in
successfully.
The error code for this error is auth/multi-factor-auth-required.
This error provides a firebase.auth.MultiFactorResolver object,
which you can use to get the second sign-in factor from the user.
example
firebase.auth().signInWithEmailAndPassword()
.then(function(result) {
// User signed in. No 2nd factor challenge is needed.
})
.catch(function(error) {
if (error.code == 'auth/multi-factor-auth-required') {
var resolver = error.resolver;
var multiFactorHints = resolver.hints;
} else {
// Handle other errors.
}
});
resolver.resolveSignIn(multiFactorAssertion)
.then(function(userCredential) {
// User signed in.
});
The multi-factor resolver to complete second factor sign-in.
Optional tenantId
tenantId:string
The tenant ID being used for sign-in/linking. If you use
firebase.auth.Auth.signInWithRedirect to sign in, you have to
set the tenant ID on Auth instanace again as the tenant ID is not
persisted after redirection.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2022-07-27 UTC."],[],[],null,["# MultiFactorError | JavaScript SDK\n\n- [firebase](/docs/reference/js/v8/firebase).\n- [auth](/docs/reference/js/v8/firebase.auth).\n- MultiFactorError\n===============================================================================================================\n\nThe error thrown when the user needs to provide a second factor to sign in\nsuccessfully.\nThe error code for this error is `auth/multi-factor-auth-required`.\nThis error provides a [firebase.auth.MultiFactorResolver](/docs/reference/js/v8/firebase.auth.MultiFactorResolver) object,\nwhich you can use to get the second sign-in factor from the user.\n\nexample\n:\n\n firebase.auth().signInWithEmailAndPassword()\n .then(function(result) {\n // User signed in. No 2nd factor challenge is needed.\n })\n .catch(function(error) {\n if (error.code == 'auth/multi-factor-auth-required') {\n var resolver = error.resolver;\n var multiFactorHints = resolver.hints;\n } else {\n // Handle other errors.\n }\n });\n\n resolver.resolveSignIn(multiFactorAssertion)\n .then(function(userCredential) {\n // User signed in.\n });\n\n\nIndex\n-----\n\n### Properties\n\n- [code](/docs/reference/js/v8/firebase.auth.MultiFactorError#code)\n- [credential](/docs/reference/js/v8/firebase.auth.MultiFactorError#credential)\n- [email](/docs/reference/js/v8/firebase.auth.MultiFactorError#email)\n- [message](/docs/reference/js/v8/firebase.auth.MultiFactorError#message)\n- [name](/docs/reference/js/v8/firebase.auth.MultiFactorError#name)\n- [phoneNumber](/docs/reference/js/v8/firebase.auth.MultiFactorError#phonenumber)\n- [resolver](/docs/reference/js/v8/firebase.auth.MultiFactorError#resolver)\n- [tenantId](/docs/reference/js/v8/firebase.auth.MultiFactorError#tenantid)\n\nProperties\n----------\n\n### code\n\ncode: string\nInherited from [Error](/docs/reference/js/v8/firebase.auth.Error).[code](/docs/reference/js/v8/firebase.auth.Error#code) \nUnique error code.\n\n### Optional credential\n\ncredential: [AuthCredential](/docs/reference/js/v8/firebase.auth.AuthCredential)\nInherited from [AuthError](/docs/reference/js/v8/firebase.auth.AuthError).[credential](/docs/reference/js/v8/firebase.auth.AuthError#credential) \nThe [firebase.auth.AuthCredential](/docs/reference/js/v8/firebase.auth.AuthCredential) that can be used to resolve the\nerror.\n\n### Optional email\n\nemail: string\nInherited from [AuthError](/docs/reference/js/v8/firebase.auth.AuthError).[email](/docs/reference/js/v8/firebase.auth.AuthError#email) \nThe email of the user's account used for sign-in/linking.\n\n### message\n\nmessage: string\nInherited from [Error](/docs/reference/js/v8/firebase.auth.Error).[message](/docs/reference/js/v8/firebase.auth.Error#message) \nComplete error message.\n\n### name\n\nname: string\n| Inherited from [Error](/docs/reference/js/v8/firebase.auth.Error).[name](/docs/reference/js/v8/firebase.auth.Error#name)\n\n### Optional phoneNumber\n\nphoneNumber: string\nInherited from [AuthError](/docs/reference/js/v8/firebase.auth.AuthError).[phoneNumber](/docs/reference/js/v8/firebase.auth.AuthError#phonenumber) \nThe phone number of the user's account used for sign-in/linking.\n\n### resolver\n\nresolver: [MultiFactorResolver](/docs/reference/js/v8/firebase.auth.MultiFactorResolver) \nThe multi-factor resolver to complete second factor sign-in.\n\n### Optional tenantId\n\ntenantId: string\nInherited from [AuthError](/docs/reference/js/v8/firebase.auth.AuthError).[tenantId](/docs/reference/js/v8/firebase.auth.AuthError#tenantid) \nThe tenant ID being used for sign-in/linking. If you use\n[firebase.auth.Auth.signInWithRedirect](/docs/reference/js/v8/firebase.auth.Auth#signinwithredirect) to sign in, you have to\nset the tenant ID on Auth instanace again as the tenant ID is not\npersisted after redirection."]]
The error thrown when the user needs to provide a second factor to sign in successfully. The error code for this error is
auth/multi-factor-auth-required
. This error provides a firebase.auth.MultiFactorResolver object, which you can use to get the second sign-in factor from the user.firebase.auth().signInWithEmailAndPassword() .then(function(result) { // User signed in. No 2nd factor challenge is needed. }) .catch(function(error) { if (error.code == 'auth/multi-factor-auth-required') { var resolver = error.resolver; var multiFactorHints = resolver.hints; } else { // Handle other errors. } }); resolver.resolveSignIn(multiFactorAssertion) .then(function(userCredential) { // User signed in. });