FirebaseAuthPlatform class Null safety

The interface that implementations of firebase_auth must extend.

Platform implementations should extend this class rather than implement it as firebase_auth does not consider newly added methods to be breaking changes. Extending this class (using extends) ensures that the subclass will get the default implementation, while platform implementations that implements this interface will be broken by newly added FirebaseAuthPlatform methods.



FirebaseAuthPlatform({FirebaseApp? appInstance})
Create an instance using app
FirebaseAuthPlatform.instanceFor({required FirebaseApp app, required Map pluginConstants})
Create an instance using app using the existing implementation


app FirebaseApp
Returns the FirebaseApp for the current instance.
appInstance FirebaseApp?
The FirebaseApp this instance was initialized with.
@protected, final
currentUser UserPlatform?
Returns the current User if they are currently signed-in, or null if not.
read / write
hashCode int
The hash code for this object.
read-only, inherited
languageCode String?
The current Auth instance's language code.
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
tenantId String?
The current Auth instance's tenant ID.
read / write


applyActionCode(String code) Future<void>
Applies a verification code sent to the user by email or other out-of-band mechanism.
authStateChanges() Stream<UserPlatform?>
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(String code, String newPassword) Future<void>
Completes the password reset process, given a confirmation code and new password.
createUserWithEmailAndPassword(String email, String password) Future<UserCredentialPlatform>
Tries to create a new user account with the given email address and password.
delegateFor({required FirebaseApp app}) FirebaseAuthPlatform
Enables delegates to create new instances of themselves if a none default FirebaseApp instance is required by the user.
fetchSignInMethodsForEmail(String email) Future<List<String>>
Returns a list of sign-in methods that can be used to sign in a given user (identified by its main email address).
getRedirectResult() Future<UserCredentialPlatform>
Returns a UserCredential from the redirect-based sign-in flow.
idTokenChanges() Stream<UserPlatform?>
Notifies about changes to the user's sign-in state (such as sign-in or sign-out) and also token refresh events.
Checks if an incoming link is a sign-in with email link.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
sendAuthChangesEvent(String appName, UserPlatform? userPlatform) → void
Sends a Stream event to a authStateChanges stream controller.
sendPasswordResetEmail(String email, [ActionCodeSettings? actionCodeSettings]) Future<void>
Triggers the Firebase Authentication backend to send a password-reset email to the given email address, which must correspond to an existing user of your app.
sendSignInLinkToEmail(String email, ActionCodeSettings actionCodeSettings) Future<void>
Sends a sign in with email link to provided email address.
setInitialValues({Map<String, dynamic>? currentUser, String? languageCode}) FirebaseAuthPlatform
Sets any initial values on the instance.
setLanguageCode(String? languageCode) Future<void>
When set to null, the default Firebase Console language setting is applied.
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. This will return a promise that will resolve once the state finishes copying from one type of storage to the other. Calling a sign-in method after changing persistence will wait for that persistence change to complete before applying it on the new Auth state.
setSettings({bool? appVerificationDisabledForTesting, String? userAccessGroup, String? phoneNumber, String? smsCode, bool? forceRecaptchaFlow}) Future<void>
Updates the current instance with the provided settings.
signInAnonymously() Future<UserCredentialPlatform>
Asynchronously creates and becomes an anonymous user.
signInWithCredential(AuthCredential credential) Future<UserCredentialPlatform>
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<UserCredentialPlatform>
Tries to sign in a user with a given Custom Token token.
signInWithEmailAndPassword(String email, String password) Future<UserCredentialPlatform>
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, RecaptchaVerifierFactoryPlatform applicationVerifier) Future<ConfirmationResultPlatform>
Starts a sign-in flow for a phone number.
signInWithPopup(AuthProvider provider) Future<UserCredentialPlatform>
Authenticates a Firebase client using a popup-based OAuth 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.
useAuthEmulator(String host, int port) Future<void>
Changes this instance to point to an Auth emulator running locally.
userChanges() Stream<UserPlatform?>
Notifies about changes to any user updates.
verifyPasswordResetCode(String code) Future<String>
Checks a password reset code sent to the user by email or other out-of-band mechanism.
verifyPhoneNumber({required String phoneNumber, required PhoneVerificationCompleted verificationCompleted, required PhoneVerificationFailed verificationFailed, required PhoneCodeSent codeSent, required PhoneCodeAutoRetrievalTimeout codeAutoRetrievalTimeout, Duration timeout = const Duration(seconds: 30), int? forceResendingToken, String? autoRetrievedSmsCodeForTesting}) Future<void>
Starts a phone number verification process for the given phone number.


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

Static Properties

instance FirebaseAuthPlatform
The current default FirebaseAuthPlatform instance.
read / write