


# AuthenticationFirebaseDataSourceImpl&lt;Data> class






    *[<Null safety>](https://dart.dev/null-safety)*






**Inheritance**

- [Object](https://api.flutter.dev/flutter/dart-core/Object-class.html)
- [AuthenticationRemoteDataSource](../wyatt_authentication_bloc/AuthenticationRemoteDataSource-class.md)&lt;Data>
- AuthenticationFirebaseDataSourceImpl








## Constructors

[AuthenticationFirebaseDataSourceImpl](../wyatt_authentication_bloc/AuthenticationFirebaseDataSourceImpl/AuthenticationFirebaseDataSourceImpl.md) ({[FirebaseAuth](https://pub.dev/documentation/firebase_auth/4.2.0/firebase_auth/FirebaseAuth-class.html)? firebaseAuth, [GoogleSignIn](https://pub.dev/documentation/google_sign_in/5.4.2/google_sign_in/GoogleSignIn-class.html)? googleSignIn})

   


## Properties

##### [hashCode](https://api.flutter.dev/flutter/dart-core/Object/hashCode.html) &#8594; [int](https://api.flutter.dev/flutter/dart-core/int-class.html)



The hash code for this object.  
_<span class="feature">read-only</span><span class="feature">inherited</span>_



##### [runtimeType](https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html) &#8594; [Type](https://api.flutter.dev/flutter/dart-core/Type-class.html)



A representation of the runtime type of the object.  
_<span class="feature">read-only</span><span class="feature">inherited</span>_





## Methods

##### [addSession](../wyatt_authentication_bloc/AuthenticationFirebaseDataSourceImpl/addSession.md)([SessionWrapper](../wyatt_authentication_bloc/SessionWrapper-class.md)&lt;Data> wrapper) void



Add a new authentication event.  
_<span class="feature">override</span>_



##### [confirmPasswordReset](../wyatt_authentication_bloc/AuthenticationFirebaseDataSourceImpl/confirmPasswordReset.md)({required [String](https://api.flutter.dev/flutter/dart-core/String-class.html) code, required [String](https://api.flutter.dev/flutter/dart-core/String-class.html) newPassword}) [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)&lt;void>



Confirms the password reset with the provided <code>newPassword</code> and <code>code</code>.  
_<span class="feature">override</span>_



##### [delete](../wyatt_authentication_bloc/AuthenticationFirebaseDataSourceImpl/delete.md)() [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)&lt;void>



Delete account.  
_<span class="feature">override</span>_



##### [noSuchMethod](https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html)([Invocation](https://api.flutter.dev/flutter/dart-core/Invocation-class.html) invocation) dynamic



Invoked when a non-existent method or property is accessed.  
_<span class="feature">inherited</span>_



##### [reauthenticate](../wyatt_authentication_bloc/AuthenticationFirebaseDataSourceImpl/reauthenticate.md)() [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)&lt;[Account](../wyatt_authentication_bloc/Account-class.md)>



Some security-sensitive actions—such as deleting an account,
setting a primary email address, and changing a password—require that
the user has recently signed in.  
_<span class="feature">override</span>_



##### [refresh](../wyatt_authentication_bloc/AuthenticationFirebaseDataSourceImpl/refresh.md)() [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)&lt;[Account](../wyatt_authentication_bloc/Account-class.md)>



Refreshes the current user, if signed in.  
_<span class="feature">override</span>_



##### [sendEmailVerification](../wyatt_authentication_bloc/AuthenticationFirebaseDataSourceImpl/sendEmailVerification.md)() [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)&lt;void>



Sends verification email to the account email.  
_<span class="feature">override</span>_



##### [sendPasswordResetEmail](../wyatt_authentication_bloc/AuthenticationFirebaseDataSourceImpl/sendPasswordResetEmail.md)({required [String](https://api.flutter.dev/flutter/dart-core/String-class.html) email}) [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)&lt;void>



Sends a password reset email to the provided <code>email</code>.  
_<span class="feature">override</span>_



##### [sessionStream](../wyatt_authentication_bloc/AuthenticationFirebaseDataSourceImpl/sessionStream.md)() [Stream](https://api.flutter.dev/flutter/dart-async/Stream-class.html)&lt;[SessionWrapper](../wyatt_authentication_bloc/SessionWrapper-class.md)&lt;Data>>



Authentication state change event stream.  
_<span class="feature">override</span>_



##### [signInAnonymously](../wyatt_authentication_bloc/AuthenticationFirebaseDataSourceImpl/signInAnonymously.md)() [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)&lt;[Account](../wyatt_authentication_bloc/Account-class.md)>



Sign in anonymously.  
_<span class="feature">override</span>_



##### [signInWithEmailAndPassword](../wyatt_authentication_bloc/AuthenticationFirebaseDataSourceImpl/signInWithEmailAndPassword.md)({required [String](https://api.flutter.dev/flutter/dart-core/String-class.html) email, required [String](https://api.flutter.dev/flutter/dart-core/String-class.html) password}) [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)&lt;[Account](../wyatt_authentication_bloc/Account-class.md)>



Signs in with the provided <code>email</code> and <code>password</code>.  
_<span class="feature">override</span>_



##### [signInWithGoogle](../wyatt_authentication_bloc/AuthenticationFirebaseDataSourceImpl/signInWithGoogle.md)() [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)&lt;[Account](../wyatt_authentication_bloc/Account-class.md)>



Starts the Sign In with Google Flow.  
_<span class="feature">override</span>_



##### [signOut](../wyatt_authentication_bloc/AuthenticationFirebaseDataSourceImpl/signOut.md)() [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)&lt;void>



Signs out the current user.
It also clears the cache and the associated data.  
_<span class="feature">override</span>_



##### [signUpWithEmailAndPassword](../wyatt_authentication_bloc/AuthenticationFirebaseDataSourceImpl/signUpWithEmailAndPassword.md)({required [String](https://api.flutter.dev/flutter/dart-core/String-class.html) email, required [String](https://api.flutter.dev/flutter/dart-core/String-class.html) password}) [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)&lt;[Account](../wyatt_authentication_bloc/Account-class.md)>



Creates a new user with the provided <code>email</code> and <code>password</code>.  
_<span class="feature">override</span>_



##### [toString](https://api.flutter.dev/flutter/dart-core/Object/toString.html)() [String](https://api.flutter.dev/flutter/dart-core/String-class.html)



A string representation of this object.  
_<span class="feature">inherited</span>_



##### [updateEmail](../wyatt_authentication_bloc/AuthenticationFirebaseDataSourceImpl/updateEmail.md)({required [String](https://api.flutter.dev/flutter/dart-core/String-class.html) email}) [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)&lt;[Account](../wyatt_authentication_bloc/Account-class.md)>



Update or add <code>email</code>.  
_<span class="feature">override</span>_



##### [updatePassword](../wyatt_authentication_bloc/AuthenticationFirebaseDataSourceImpl/updatePassword.md)({required [String](https://api.flutter.dev/flutter/dart-core/String-class.html) password}) [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)&lt;[Account](../wyatt_authentication_bloc/Account-class.md)>



Update or add <code>password</code>.  
_<span class="feature">override</span>_



##### [verifyPasswordResetCode](../wyatt_authentication_bloc/AuthenticationFirebaseDataSourceImpl/verifyPasswordResetCode.md)({required [String](https://api.flutter.dev/flutter/dart-core/String-class.html) code}) [Future](https://api.flutter.dev/flutter/dart-async/Future-class.html)&lt;[bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)>



Verify password reset code.  
_<span class="feature">override</span>_





## Operators

##### [operator ==](https://api.flutter.dev/flutter/dart-core/Object/operator_equals.html)([Object](https://api.flutter.dev/flutter/dart-core/Object-class.html) other) [bool](https://api.flutter.dev/flutter/dart-core/bool-class.html)



The equality operator.  
_<span class="feature">inherited</span>_















