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
}
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::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.

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.

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.

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.

kAuthErrorInvalidRecipientEmail

Indicates that the recipient email is invalid.

kAuthErrorInvalidSender

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

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.

Note:This error is iOS-specific.

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.

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.

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.

kAuthErrorTooManyRequests

Indicates that too many requests were made to a server method.

Common error code for all API methods.

kAuthErrorUnauthorizedDomain

Indicates that the domain specified in the continue URL is not white- listed in the Firebase console.

Note:This error is iOS-specific.

kAuthErrorUnimplemented

Function will be implemented in a later revision of the API.

kAuthErrorUserDisabled

Indicates the user’s account is disabled on the server.

Caused by "Sign in with credential" methods.

kAuthErrorUserMismatch

Indicates that an attempt was made to reauthenticate with a user which is not the current user.

kAuthErrorUserNotFound

Indicates the user account was not found.

Send password request email error code. Common error code for all API methods.

kAuthErrorUserTokenExpired

Indicates the saved token has expired.

For example, the user may have changed account password on another device. The user needs to sign in again on the device that made this request. Caused by requests with an STS id token.

kAuthErrorWeakPassword

Indicates an attempt to set a password that is considered too weak.

kAuthErrorWebContextAlreadyPresented

Indicates that an attempt was made to present a new web context while one was already being presented.

Note:This error is iOS-specific.

kAuthErrorWebContextCancelled

Indicates that the URL presentation was cancelled prematurely by the user.

Note:This error is iOS-specific.

kAuthErrorWrongPassword

Indicates the user attempted sign in with a wrong password.

Caused by "Sign in with password" methods.

Send feedback about...

Need help? Visit our support page.