Go to console

firebase::auth

Firebase Authentication API.

Summary

Firebase Authentication provides backend services to securely authenticate users. It can authenticate users using passwords and federated identity provider credentials, and it can integrate with a custom auth backend.

Enumerations

AuthError{
  kAuthErrorNone = 0,
  kAuthErrorUnimplemented = -1,
  kAuthErrorFailure = 1,
  kAuthErrorInvalidCustomToken,
  kAuthErrorCustomTokenMismatch,
  kAuthErrorInvalidCredential,
  kAuthErrorUserDisabled,
  kAuthErrorAccountExistsWithDifferentCredentials,
  kAuthErrorOperationNotAllowed,
  kAuthErrorEmailAlreadyInUse,
  kAuthErrorRequiresRecentLogin,
  kAuthErrorCredentialAlreadyInUse,
  kAuthErrorInvalidEmail,
  kAuthErrorWrongPassword,
  kAuthErrorTooManyRequests,
  kAuthErrorUserNotFound,
  kAuthErrorProviderAlreadyLinked,
  kAuthErrorNoSuchProvider,
  kAuthErrorInvalidUserToken,
  kAuthErrorUserTokenExpired,
  kAuthErrorNetworkRequestFailed,
  kAuthErrorInvalidApiKey,
  kAuthErrorAppNotAuthorized,
  kAuthErrorUserMismatch,
  kAuthErrorWeakPassword,
  kAuthErrorNoSignedInUser,
  kAuthErrorApiNotAvailable,
  kAuthErrorExpiredActionCode,
  kAuthErrorInvalidActionCode,
  kAuthErrorInvalidMessagePayload,
  kAuthErrorInvalidPhoneNumber,
  kAuthErrorMissingPhoneNumber,
  kAuthErrorInvalidRecipientEmail,
  kAuthErrorInvalidSender,
  kAuthErrorInvalidVerificationCode,
  kAuthErrorInvalidVerificationId,
  kAuthErrorMissingVerificationCode,
  kAuthErrorMissingVerificationId,
  kAuthErrorMissingEmail,
  kAuthErrorMissingPassword,
  kAuthErrorQuotaExceeded,
  kAuthErrorRetryPhoneAuth,
  kAuthErrorSessionExpired,
  kAuthErrorAppNotVerified,
  kAuthErrorAppVerificationFailed,
  kAuthErrorCaptchaCheckFailed,
  kAuthErrorInvalidAppCredential,
  kAuthErrorMissingAppCredential,
  kAuthErrorInvalidClientId,
  kAuthErrorInvalidContinueUri,
  kAuthErrorMissingContinueUri,
  kAuthErrorKeychainError,
  kAuthErrorMissingAppToken,
  kAuthErrorMissingIosBundleId,
  kAuthErrorNotificationNotForwarded,
  kAuthErrorUnauthorizedDomain,
  kAuthErrorWebContextAlreadyPresented,
  kAuthErrorWebContextCancelled,
  kAuthErrorDynamicLinkNotActivated,
  kAuthErrorCancelled,
  kAuthErrorInvalidProviderId,
  kAuthErrorWebInternalError,
  kAuthErrorWebStorateUnsupported,
  kAuthErrorTenantIdMismatch,
  kAuthErrorUnsupportedTenantOperation,
  kAuthErrorInvalidLinkDomain,
  kAuthErrorRejectedCredential,
  kAuthErrorPhoneNumberNotFound,
  kAuthErrorInvalidTenantId
}
enum
All possible error codes from asynchronous calls.

Classes

firebase::auth::Auth

Firebase authentication object.

firebase::auth::AuthStateListener

Listener called when there is a change in the authentication state.

firebase::auth::Credential

Authentication credentials for an authentication provider.

firebase::auth::EmailAuthProvider

Use email and password to authenticate.

firebase::auth::FacebookAuthProvider

Use an access token provided by Facebook to authenticate.

firebase::auth::GameCenterAuthProvider

GameCenter (iOS) auth provider.

firebase::auth::GitHubAuthProvider

Use an access token provided by GitHub to authenticate.

firebase::auth::GoogleAuthProvider

Use an ID token and access token provided by Google to authenticate.

firebase::auth::IdTokenListener

Listener called when there is a change in the ID token.

firebase::auth::OAuthProvider

OAuth2.0+UserInfo auth provider (OIDC compliant and non-compliant).

firebase::auth::PhoneAuthProvider

Use phone number text messages to authenticate.

firebase::auth::PlayGamesAuthProvider

Use a server auth code provided by Google Play Games to authenticate.

firebase::auth::TwitterAuthProvider

Use a token and secret provided by Twitter to authenticate.

firebase::auth::User

Firebase user account object.

firebase::auth::UserInfoInterface

Interface implemented by each identity provider.

Structs

firebase::auth::AdditionalUserInfo

Additional user data returned from an identity provider.

firebase::auth::SignInResult

Result of operations that can affect authentication state.

firebase::auth::UserMetadata

Metadata corresponding to a Firebase user.

Enumerations

AuthError

 AuthError

All possible error codes from asynchronous calls.

For error details, call Future::ErrorMessage().

Properties
kAuthErrorAccountExistsWithDifferentCredentials

Indicates an account already exists with the same email address but using different sign-in credentials.

Account linking is required. Caused by "Sign in with credential" methods.

kAuthErrorApiNotAvailable

This can happen when certain methods on App are performed, when the auth API is not loaded.

Note:This error is only reported on Android.

kAuthErrorAppNotAuthorized

Indicates the App is not authorized to use Firebase Authentication with the provided API Key.

Common error code for all API Methods. On Android this error should no longer occur (as of 2016 v3). Common error code for all API Methods.

kAuthErrorAppNotVerified

Indicates that the app could not be verified by Firebase during phone number authentication.

Note:This error is iOS-specific.

kAuthErrorAppVerificationFailed

Indicates a general failure during the app verification flow.

Note:This error is iOS-specific.

kAuthErrorCancelled

Indicates that the operation was cancelled.

kAuthErrorCaptchaCheckFailed

Indicates that the reCAPTCHA token is not valid.

Note:This error is iOS-specific.

kAuthErrorCredentialAlreadyInUse

Indicates an attempt to link with a credential that has already been linked with a different Firebase account.

Caused by "Set account info" methods.

kAuthErrorCustomTokenMismatch

Indicates the service account and the API key belong to different projects.

Caused by "Bring your own auth" methods.

kAuthErrorDynamicLinkNotActivated

Indicates that Dynamic Links in the Firebase Console is not activated.

kAuthErrorEmailAlreadyInUse

Indicates the email used to attempt a sign up is already in use.

Caused by "Set account info" methods.

kAuthErrorExpiredActionCode

Indicates the out-of-band authentication code is expired.

kAuthErrorFailure

This indicates an internal error.

Common error code for all API Methods.

kAuthErrorInvalidActionCode

Indicates the out-of-band authentication code is invalid.

kAuthErrorInvalidApiKey

Indicates an invalid API key was supplied in the request.

For Android these should no longer occur (as of 2016 v3). Common error code for all API Methods.

kAuthErrorInvalidAppCredential

Indicates that an invalid APNS device token was used in the verifyClient request.

Note:This error is iOS-specific.

kAuthErrorInvalidClientId

Indicates that the clientID used to invoke a web flow is invalid.

Note:This error is iOS-specific.

kAuthErrorInvalidContinueUri

Indicates that the domain specified in the continue URI is not valid.

Note:This error is iOS-specific.

kAuthErrorInvalidCredential

Indicates the IDP token or requestUri is invalid.

Caused by "Sign in with credential" methods.

kAuthErrorInvalidCustomToken

Indicates a validation error with the custom token.

This error originates from "bring your own auth" methods.

kAuthErrorInvalidEmail

Indicates an invalid email address.

Caused by "Sign in with password" methods.

kAuthErrorInvalidLinkDomain

Indicates that an FDL domain used for an out of band code flow is either not configured or is unauthorized for the current project.

kAuthErrorInvalidMessagePayload

Indicates that there are invalid parameters in the payload during a "send password reset email" attempt.

kAuthErrorInvalidPhoneNumber

Indicates that an invalid phone number was provided.

This is caused when the user is entering a phone number for verification.

kAuthErrorInvalidProviderId

Indicates that the provider id given for the web operation is invalid.

kAuthErrorInvalidRecipientEmail

Indicates that the recipient email is invalid.

kAuthErrorInvalidSender

Indicates that the sender email is invalid during a "send password reset email" attempt.

kAuthErrorInvalidTenantId

Indicates that a request was made to the backend with an invalid tenant ID.

kAuthErrorInvalidUserToken

Indicates user's saved auth credential is invalid, the user needs to sign in again.

Caused by requests with an STS id token.

kAuthErrorInvalidVerificationCode

Indicates that an invalid verification code was used in the verifyPhoneNumber request.

kAuthErrorInvalidVerificationId

Indicates that an invalid verification ID was used in the verifyPhoneNumber request.

kAuthErrorKeychainError

Indicates an error occurred while attempting to access the keychain.

Common error code for all API Methods.

Note:This error is iOS-specific.

kAuthErrorMissingAppCredential

Indicates that the APNS device token is missing in the verifyClient request.

Note:This error is iOS-specific.

kAuthErrorMissingAppToken

Indicates that the APNs device token could not be obtained.

The app may not have set up remote notification correctly, or may have failed to forward the APNs device token to FIRAuth if app delegate swizzling is disabled.

Note:This error is iOS-specific.

kAuthErrorMissingContinueUri

Indicates that a continue URI was not provided in a request to the backend which requires one.

kAuthErrorMissingEmail

Indicates that an email address was expected but one was not provided.

kAuthErrorMissingIosBundleId

Indicates that the iOS bundle ID is missing when an iOS App Store ID is provided.

Note:This error is iOS-specific.

kAuthErrorMissingPassword

Represents the error code for when an application attempts to create an email/password account with an empty/null password field.

Note:This error is only reported on Android.

kAuthErrorMissingPhoneNumber

Indicates that a phone number was not provided during phone number verification.

Note:This error is iOS-specific.

kAuthErrorMissingVerificationCode

Indicates that the phone auth credential was created with an empty verification code.

kAuthErrorMissingVerificationId

Indicates that the phone auth credential was created with an empty verification ID.

kAuthErrorNetworkRequestFailed

Indicates a network error occurred (such as a timeout, interrupted connection, or unreachable host).

These types of errors are often recoverable with a retry. Common error code for all API Methods.

kAuthErrorNoSignedInUser

Internal api usage error code when there is no signed-in user and getAccessToken is called.

Note:This error is only reported on Android.

kAuthErrorNoSuchProvider

Indicates an attempt to unlink a provider that is not linked.

Caused by "Link credential" methods.

kAuthErrorNone

Success.

kAuthErrorNotificationNotForwarded

Indicates that the app fails to forward remote notification to FIRAuth.

Note:This error is iOS-specific.

kAuthErrorOperationNotAllowed

Indicates the administrator disabled sign in with the specified identity provider.

Caused by "Set account info" methods.

kAuthErrorPhoneNumberNotFound

Indicates that the phone number provided in the MFA sign in flow to be verified does not correspond to a phone second factor for the user.

kAuthErrorProviderAlreadyLinked

Indicates an attempt to link a provider to which the account is already linked.

Caused by "Link credential" methods.

kAuthErrorQuotaExceeded

Indicates that the quota of SMS messages for a given project has been exceeded.

kAuthErrorRejectedCredential

Indicates that credential related request data is invalid.

This can occur when there is a project number mismatch (sessionInfo, spatula header, temporary proof), an incorrect temporary proof phone number, or during game center sign in when the user is already signed into a different game center account.

kAuthErrorRequiresRecentLogin

Indicates the user has attemped to change email or password more than 5 minutes after signing in, and will need to refresh the credentials.

Caused by "Set account info" methods.

kAuthErrorRetryPhoneAuth

Thrown when one or more of the credentials passed to a method fail to identify and/or authenticate the user subject of that operation.

Inspect the error message to find out the specific cause. Note:This error is only reported on Android.

kAuthErrorSessionExpired

Indicates that the SMS code has expired.

kAuthErrorTenantIdMismatch

Indicates that the provided tenant ID does not match the Auth instance's tenant ID.

kAuthErrorTooManyRequests <