FirebaseAuth class

The entry point of the Firebase Authentication SDK.

Inheritance
  • Object
  • FirebasePlugin
  • FirebaseAuth

Constructors

FirebaseAuth.instanceFor({required FirebaseApp app})
Returns an instance using a specified FirebaseApp.
factory

Properties

app ↔ FirebaseApp
The FirebaseApp for this current Auth instance.
getter/setter pair
currentUser → User?
Returns the current User if they are currently signed-in, or null if not.
no setter
customAuthDomain ↔ String?
The current Auth instance's custom auth domain. The auth domain used to handle redirects from OAuth provides, for example "my-awesome-app.firebaseapp.com". By default, this is set to null and default auth domain is used.
getter/setter pair
hashCode → int
The hash code for this object.
no setterinherited
languageCode → String?
The current Auth instance's language code.
no setter
pluginConstants → Map
Returns any plugin constants this plugin app instance has initialized.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
tenantId ↔ String?
The current Auth instance's tenant ID.
getter/setter pair

Methods

applyActionCode(String code) → Future<void>
Applies a verification code sent to the user by email or other out-of-band mechanism.
authStateChanges() → Stream<User?>
Notifies about changes to the user's sign-in state (such as sign-in or sign-out).
checkActionCode(String code) → Future<ActionCodeInfo>
Checks a verification code sent to the user by email or other out-of-band mechanism.
confirmPasswordReset({required String code, required String newPassword}) → Future<void>
Completes the password reset process, given a confirmation code and new password.
createUserWithEmailAndPassword({required String email, required String password}) → Future<UserCredential>
Tries to create a new user account with the given email address and password.
getRedirectResult() → Future<UserCredential>
Returns a UserCredential from the redirect-based sign-in flow.
idTokenChanges() → Stream<User?>
Notifies about changes to the user's sign-in state (such as sign-in or sign-out) and also token refresh events.
initializeRecaptchaConfig() → Future<void>
Initializes the reCAPTCHA Enterprise client proactively to enhance reCAPTCHA signal collection and to complete reCAPTCHA-protected flows in a single attempt.
Checks if an incoming link is a sign-in with email link.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
revokeAccessToken(String accessToken) → Future<void>
Android only. Revokes the provided accessToken. Currently supports revoking Apple-issued accessToken only.
revokeTokenWithAuthorizationCode(String authorizationCode) → Future<void>
Apple only. Users signed in with Apple provider can revoke their token using an authorization code. Authorization code can be retrieved on the user credential i.e. userCredential.additionalUserInfo.authorizationCode
sendPasswordResetEmail({required String email, ActionCodeSettings? actionCodeSettings}) → Future<void>
Sends a password reset email to the given email address.
sendSignInLinkToEmail({required String email, required ActionCodeSettings actionCodeSettings}) → Future<void>
Sends a sign in with email link to provided email address.
setLanguageCode(String? languageCode) → Future<void>
When set to null, sets the user-facing language code to be the default app language.
setPersistence(Persistence persistence) → Future<void>
Changes the current type of persistence on the current Auth instance for the currently saved Auth session and applies this type of persistence for future sign-in requests, including sign-in with redirect requests.
setSettings({bool appVerificationDisabledForTesting = false, String? userAccessGroup, bool migrateCurrentUser = false, String? phoneNumber, String? smsCode, bool? forceRecaptchaFlow}) → Future<void>
Updates the current instance with the provided settings.
signInAnonymously() → Future<UserCredential>
Asynchronously creates and becomes an anonymous user.
signInWithCredential(AuthCredential credential) → Future<UserCredential>
Asynchronously signs in to Firebase with the given 3rd-party credentials (e.g. a Facebook login Access Token, a Google ID Token/Access Token pair, etc.) and returns additional identity provider data.
signInWithCustomToken(String token) → Future<UserCredential>
Tries to sign in a user with a given custom token.
signInWithEmailAndPassword({required String email, required String password}) → Future<UserCredential>
Attempts to sign in a user with the given email address and password.
Signs in using an email address and email sign-in link.
signInWithPhoneNumber(String phoneNumber, [RecaptchaVerifier? verifier]) → Future<ConfirmationResult>
Starts a sign-in flow for a phone number.
signInWithPopup(AuthProvider provider) → Future<UserCredential>
Authenticates a Firebase client using a popup-based OAuth authentication flow.
signInWithProvider(AuthProvider provider) → Future<UserCredential>
Signs in with an AuthProvider using native authentication flow.
signInWithRedirect(AuthProvider provider) → Future<void>
Authenticates a Firebase client using a full-page redirect flow.
signOut() → Future<void>
Signs out the current user.
toString() → String
A string representation of this object.
override
useAuthEmulator(String host, int port, {bool automaticHostMapping = true}) → Future<void>
Changes this instance to point to an Auth emulator running locally.
userChanges() → Stream<User?>
Notifies about changes to any user updates.
validatePassword(FirebaseAuth auth, String? password) → Future<PasswordValidationStatus>
Validates a password against the password policy configured for the project or tenant.
verifyPasswordResetCode(String code) → Future<String>
Checks a password reset code sent to the user by email or other out-of-band mechanism.
verifyPhoneNumber({String? phoneNumber, PhoneMultiFactorInfo? multiFactorInfo, required PhoneVerificationCompleted verificationCompleted, required PhoneVerificationFailed verificationFailed, required PhoneCodeSent codeSent, required PhoneCodeAutoRetrievalTimeout codeAutoRetrievalTimeout, String? autoRetrievedSmsCodeForTesting, Duration timeout = const Duration(seconds: 30), int? forceResendingToken, MultiFactorSession? multiFactorSession}) → Future<void>
Starts a phone number verification process for the given phone number.

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Properties

instance → FirebaseAuth
Returns an instance using the default FirebaseApp.
no setter