


# AuthenticationRepositoryImpl&lt;Data extends Object> class






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






**Inheritance**

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








## Constructors

[AuthenticationRepositoryImpl](../wyatt_authentication_bloc/AuthenticationRepositoryImpl/AuthenticationRepositoryImpl.md) ({required [AuthenticationRemoteDataSource](../wyatt_authentication_bloc/AuthenticationRemoteDataSource-class.md)&lt;Data> authenticationRemoteDataSource, FormRepository? formRepository, [List](https://api.flutter.dev/flutter/dart-core/List-class.html)&lt;FormInput&lt;dynamic, FormInputValidator&lt;dynamic, ValidationError>, dynamic>>? extraSignUpInputs, [List](https://api.flutter.dev/flutter/dart-core/List-class.html)&lt;FormInput&lt;dynamic, FormInputValidator&lt;dynamic, ValidationError>, dynamic>>? extraEditAccountInputs, FormInputValidator&lt;[String](https://api.flutter.dev/flutter/dart-core/String-class.html)?, ValidationError>? customEmailValidator, FormInputValidator&lt;[String](https://api.flutter.dev/flutter/dart-core/String-class.html)?, ValidationError>? customPasswordValidator})

   


## Properties

##### [authenticationRemoteDataSource](../wyatt_authentication_bloc/AuthenticationRepositoryImpl/authenticationRemoteDataSource.md) &#8594; [AuthenticationRemoteDataSource](../wyatt_authentication_bloc/AuthenticationRemoteDataSource-class.md)&lt;Data>



  
_<span class="feature">final</span>_



##### [formRepository](../wyatt_authentication_bloc/AuthenticationRepositoryImpl/formRepository.md) &#8594; FormRepository



Form repository used in different authentication cubits/blocs  
_<span class="feature">read-only</span><span class="feature">override</span>_



##### [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/AuthenticationRepositoryImpl/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/AuthenticationRepositoryImpl/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}) FutureOrResult&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/AuthenticationRepositoryImpl/delete.md)() FutureOrResult&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/AuthenticationRepositoryImpl/reauthenticate.md)() FutureOrResult&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/AuthenticationRepositoryImpl/refresh.md)() FutureOrResult&lt;[Account](../wyatt_authentication_bloc/Account-class.md)>



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



##### [sendEmailVerification](../wyatt_authentication_bloc/AuthenticationRepositoryImpl/sendEmailVerification.md)() FutureOrResult&lt;void>



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



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



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



##### [sessionStream](../wyatt_authentication_bloc/AuthenticationRepositoryImpl/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/AuthenticationRepositoryImpl/signInAnonymously.md)() FutureOrResult&lt;[Account](../wyatt_authentication_bloc/Account-class.md)>



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



##### [signInWithEmailAndPassword](../wyatt_authentication_bloc/AuthenticationRepositoryImpl/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}) FutureOrResult&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/AuthenticationRepositoryImpl/signInWithGoogle.md)() FutureOrResult&lt;[Account](../wyatt_authentication_bloc/Account-class.md)>



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



##### [signOut](../wyatt_authentication_bloc/AuthenticationRepositoryImpl/signOut.md)() FutureOrResult&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/AuthenticationRepositoryImpl/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}) FutureOrResult&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/AuthenticationRepositoryImpl/updateEmail.md)({required [String](https://api.flutter.dev/flutter/dart-core/String-class.html) email}) FutureOrResult&lt;[Account](../wyatt_authentication_bloc/Account-class.md)>



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



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



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



##### [verifyPasswordResetCode](../wyatt_authentication_bloc/AuthenticationRepositoryImpl/verifyPasswordResetCode.md)({required [String](https://api.flutter.dev/flutter/dart-core/String-class.html) code}) FutureOrResult&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>_















