java.lang.Object | |
↳ | com.google.firebase.auth.FirebaseAuth |
The entry point of the Firebase Authentication SDK.
First, obtain an instance of this class by calling getInstance()
.
Then, sign up or sign in a user with one of the following methods:
createUserWithEmailAndPassword(String, String)
signInWithEmailAndPassword(String, String)
signInWithCredential(AuthCredential)
signInAnonymously()
signInWithCustomToken(String)
getCurrentUser()
to get a FirebaseUser
object,
which contains information about the signed-in user.
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
FirebaseAuth.AuthStateListener | Listener called when there is a change in the authentication state. | ||||||||||
FirebaseAuth.IdTokenListener | Listener called when the id token is changed. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Registers a listener to changes in the user authentication state.
| |||||||||||
Registers a listener to changes in the token authentication state.
| |||||||||||
Applies the given
code , which can be any out of band code which is valid according
to checkActionCode(String) that does not also pass
verifyPasswordResetCode(String) , which requires an additional parameter. | |||||||||||
Checks that the
code given is valid. | |||||||||||
Changes the user's password to
newPassword for the account for which the
code is valid. | |||||||||||
Tries to create a new user account with the given email address and password.
| |||||||||||
Returns a list of authentication providers that can be used to sign in a given user
(identified by its main email address).
| |||||||||||
Returns the currently signed-in
FirebaseUser or null if there is none. | |||||||||||
Returns an instance of this class corresponding to the default
FirebaseApp instance. | |||||||||||
Returns an instance of this class corresponding to the given
FirebaseApp instance. | |||||||||||
Unregisters a listener to authentication changes.
| |||||||||||
Unregisters a listener to authentication changes.
| |||||||||||
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.
| |||||||||||
Signs in the user anonymously without requiring any credential.
| |||||||||||
Tries to sign in a user with the given
AuthCredential . | |||||||||||
Tries to sign in a user with a given Custom Token.
| |||||||||||
Tries to sign in a user with the given email address and password.
| |||||||||||
Signs out the current user and clears it from the disk cache.
| |||||||||||
Checks that the
code is a valid password reset out of band code. |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
Registers a listener to changes in the user authentication state. There can be more than one
listener registered at the same time for one or more FirebaseAuth
instances.
The listeners call back in the UI thread, on the following events:
It is a recommended practice to always listen to sign-out events, as you may want to prompt the user to sign in again and maybe restrict the information or actions they have access to.
Use removeAuthStateListener(AuthStateListener)
to unregister a listener.
See addIdTokenListener(IdTokenListener)
if you want to listen to token refreshes.
See Also: FirebaseAuth.AuthStateListener
Parameters | |
---|---|
listener |
FirebaseAuth.AuthStateListener
|
Registers a listener to changes in the token authentication state. There can be more than one
listener registered at the same time for one or more FirebaseAuth
instances.
The listeners call back in the UI thread, on the following events:
It is a recommended practice to always listen to sign-out events, as you may want to prompt the user to sign in again and maybe restrict the information or actions they have access to.
Use removeIdTokenListener(IdTokenListener)
to unregister a listener.
See addAuthStateListener(AuthStateListener)
if you do not want to listen to token
refreshes.
See Also: FirebaseAuth.IdTokenListener
Parameters | |
---|---|
listener |
FirebaseAuth.IdTokenListener
|
Applies the given code
, which can be any out of band code which is valid according
to checkActionCode(String)
that does not also pass
verifyPasswordResetCode(String)
, which requires an additional parameter.
Parameters | |
---|---|
code |
String
|
Returns | |
---|---|
Task<Void> |
Checks that the code
given is valid. This code will have been generated by
sendPasswordResetEmail(String)
or sendEmailVerification()
valid for a single use.
Parameters | |
---|---|
code |
String
|
Returns | |
---|---|
Task<ActionCodeResult> |
Task which you can use to see the result via the ActionCodeResult ,
which holds the user email for which that ActionCode is valid, as well as the
ActionCodeResult.Operation which is being performed.
|
Changes the user's password to newPassword
for the account for which the
code
is valid. Code validity can be checked with
verifyPasswordResetCode(String)
. This use case is only valid for signed-out users,
and behavior is undefined for signed-in users. Password changes for signed-in users
should be made using updatePassword(String)
.
Parameters | |
---|---|
code |
String
|
newPassword |
String
|
Returns | |
---|---|
Task<Void> |
Tries to create a new user account with the given email address and password. If successful, it also signs the user in into the app.
Access the signed-in user with getCurrentUser()
.
Upon successful completion, this operation triggers an
onIdTokenChanged(FirebaseAuth)
event in all registered
FirebaseAuth.IdTokenListener
s and an onAuthStateChanged(FirebaseAuth)
event in all registered FirebaseAuth.AuthStateListener
s.
Important: you must enable Email & Password accounts in the Firebase console before you can use this method.
FirebaseAuthWeakPasswordException
thrown if the password is not strong enough
FirebaseAuthInvalidCredentialsException
thrown if the email
address is
malformedFirebaseAuthUserCollisionException
thrown if there already exists an account
with the given email
addressSee Also:
signInWithEmailAndPassword(String, String)
signInWithCredential(AuthCredential)
signInAnonymously()
signInWithCustomToken(String)
Parameters | |
---|---|
email |
String
|
password |
String
|
Returns | |
---|---|
Task<AuthResult> |
Task of AuthResult with the result of the operation
|
Returns a list of authentication providers that can be used to sign in a given user (identified by its main email address).
This method is useful when you support multiple authentication mechanisms if you want to
implement an email-first authentication flow. It is also useful to resolve a
FirebaseAuthUserCollisionException
thrown on
signInWithCredential(AuthCredential)
.
FirebaseAuthInvalidCredentialsException
thrown if the email
address is
malformedParameters | |
---|---|
email |
String :
the email address that identifies the user to fetch the providers from |
Returns | |
---|---|
Task<ProviderQueryResult> |
Task of ProviderQueryResult with the result of the operation
|
Returns the currently signed-in FirebaseUser
or null if there is none.
Use getCurrentUser() != null
to check if a user is signed in.
Returns | |
---|---|
FirebaseUser |
the signed-in user or null |
Returns an instance of this class corresponding to the default FirebaseApp
instance.
Note: Firebase Authentication does not currently support Android Direct Boot.
For Applications that use Direct Boot, please check if
android.content.Context.isDeviceProtectedStorage
is false
before you call FirebaseAuth.getInstance()
.
Returns | |
---|---|
FirebaseAuth |
Returns an instance of this class corresponding to the given FirebaseApp
instance.
Note: Firebase Authentication does not currently support Android Direct Boot.
For Applications that use Direct Boot, please check if
android.content.Context.isDeviceProtectedStorage
is false
before you call FirebaseAuth.getInstance(firebaseApp)
.
Parameters | |
---|---|
firebaseApp |
FirebaseApp
|
Returns | |
---|---|
FirebaseAuth |
Unregisters a listener to authentication changes.
See Also: FirebaseAuth.AuthStateListener
Parameters | |
---|---|
listener |
FirebaseAuth.AuthStateListener
|
Unregisters a listener to authentication changes.
See Also: FirebaseAuth.IdTokenListener
Parameters | |
---|---|
listener |
FirebaseAuth.IdTokenListener
|
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.
FirebaseAuthInvalidUserException
thrown if there is no user corresponding to
the given email
addressParameters | |
---|---|
email |
String
|
Returns | |
---|---|
Task<Void> |
Task to track completion of the sending operation
|
Signs in the user anonymously without requiring any credential.
This method creates a new account in your Firebase Authentication system, except in the case
where there was already an anonymous user signed in into this app. Access the signed-in user
with getCurrentUser()
.
Upon successful completion, this operation triggers an
onIdTokenChanged(FirebaseAuth)
event in all registered
FirebaseAuth.IdTokenListener
s and an onAuthStateChanged(FirebaseAuth)
event in all registered FirebaseAuth.AuthStateListener
s.
Anonymous users do not require any credential, and are useful in situations where you want to persist information about your users before asking them to sign in. For example, they may be useful when implementing a signed-out shopping cart in an e-commerce application.
Due to the unauthenticated nature of this kind of user, they are not transferrable across
devices. In order to allow your app's users to keep their information, ask them to provide
some other authentication credentials, and link them to the current user with
linkWithCredential(AuthCredential)
.
Important: you must enable Anonymous accounts in the Firebase console before being able to use them.
signInWithEmailAndPassword(String, String)
createUserWithEmailAndPassword(String, String)
signInWithCredential(AuthCredential)
signInWithCustomToken(String)
Returns | |
---|---|
Task<AuthResult> |
Task of AuthResult with the result of the operation
|
Tries to sign in a user with the given AuthCredential
.
Use this method to sign in a user into your Firebase Authentication system. First retrieve
the credential
either directly from the user, in case of EmailAuthCredential
,
or from a supported authentication SDK, such as Google Sign-In or Facebook. Later access the
signed-in user with getCurrentUser()
.
For all AuthCredential
types except EmailAuthCredential
, this method will
create an account for the user in the case that it didn't exist before.
Important: you must configure the authentication providers in the Firebase console before you can use them.
FirebaseAuthInvalidUserException
thrown if the user account you are trying to
sign in to has been disabled. Also thrown if credential
is an
EmailAuthCredential
with an email address that does not correspond to an
existing user.FirebaseAuthInvalidCredentialsException
thrown if the credential
is
malformed or has expired. If credential instanceof EmailAuthCredential
it will
be thrown if the password is incorrect.FirebaseAuthUserCollisionException
thrown if there already exists an account
with the email address asserted by the credential
. Resolve this case by calling
fetchProvidersForEmail(String)
and then asking the user to sign in using one
of them.See Also:
signInWithEmailAndPassword(String, String)
createUserWithEmailAndPassword(String, String)
signInAnonymously()
signInWithCustomToken(String)
Parameters | |
---|---|
credential |
AuthCredential
|
Returns | |
---|---|
Task<AuthResult> |
Task of AuthResult with the result of the operation
|
Tries to sign in a user with a given Custom Token.
Use this method after you retrieve a Firebase Auth Custom Token from your server, to sign in
a user into your Firebase Authentication system. Access the signed-in user with
getCurrentUser()
.
Upon successful completion, this operation triggers an
onIdTokenChanged(FirebaseAuth)
event in all registered
FirebaseAuth.IdTokenListener
s and an onAuthStateChanged(FirebaseAuth)
event in all registered FirebaseAuth.AuthStateListener
s.
This operation might create an account if the uid
specified in the token corresponds
to a user without a record in the system.
Read how to use Custom Token authentication and the cases where it is useful in the guides.
FirebaseAuthInvalidCredentialsException
thrown if the token
format is
incorrect or if it corresponds to a different Firebase App
signInWithEmailAndPassword(String, String)
createUserWithEmailAndPassword(String, String)
signInWithCredential(AuthCredential)
signInAnonymously()
Parameters | |
---|---|
token |
String
|
Returns | |
---|---|
Task<AuthResult> |
Task of AuthResult with the result of the operation
|
Tries to sign in a user with the given email address and password.
Access the signed-in user with getCurrentUser()
.
Upon successful completion, this operation triggers an
onIdTokenChanged(FirebaseAuth)
event in all registered
FirebaseAuth.IdTokenListener
s and an onAuthStateChanged(FirebaseAuth)
event in all registered FirebaseAuth.AuthStateListener
s.
This is equivalent to calling signInWithCredential(AuthCredential)
with an
EmailAuthCredential
.
Important: you must enable Email & Password accounts in the Firebase console before being able to use this method.
FirebaseAuthInvalidUserException
thrown if the user account corresponding to
email
does not exist or has been disabledFirebaseAuthInvalidCredentialsException
thrown if the password
is
wrong
createUserWithEmailAndPassword(String, String)
signInWithCredential(AuthCredential)
signInAnonymously()
signInWithCustomToken(String)
Parameters | |
---|---|
email |
String
|
password |
String
|
Returns | |
---|---|
Task<AuthResult> |
Task of AuthResult with the result of the operation
|
Signs out the current user and clears it from the disk cache.
Upon successful completion, this operation triggers an
onIdTokenChanged(FirebaseAuth)
event in all registered
FirebaseAuth.IdTokenListener
s and an onAuthStateChanged(FirebaseAuth)
event in all registered FirebaseAuth.AuthStateListener
s.
Checks that the code
is a valid password reset out of band code. This code will
have been generated by a call to sendPasswordResetEmail(String)
, and is valid
for a single use.
Parameters | |
---|---|
code |
String
|
Returns | |
---|---|
Task<String> |
Task which holds the email for which this code is applicable.
|