Represents a user's profile information in your Firebase project's user database. It also contains helper methods to change or retrieve profile information, as well as to manage that user's authentication state.
| Task<Void> |
delete()
Deletes the user record from your Firebase project's database.
|
| abstract String |
getDisplayName()
Returns the main display name of this user from the Firebase project's user
database.
|
| abstract String |
getEmail()
Returns the main email address of the user, as stored in the Firebase project's
user database.
|
| Task<GetTokenResult> |
getIdToken(boolean forceRefresh)
Fetches a Firebase Auth ID Token for the user; useful when authenticating
against your own backend.
|
| abstract FirebaseUserMetadata |
getMetadata()
Returns the
FirebaseUserMetadata
associated with this user.
|
| abstract String |
getPhoneNumber()
Returns the phone number of the user, as stored in the Firebase project's user
database, or
null if none exists.
|
| abstract Uri |
getPhotoUrl()
Returns the URL of this user's main profile picture, as stored in the Firebase
project's user database.
|
| abstract List<? extends UserInfo> | |
| abstract String |
getProviderId()
Always returns
PROVIDER_ID
|
| abstract String |
getUid()
Returns a string used to uniquely identify your user in your Firebase project's
user database.
|
| abstract boolean |
isAnonymous()
Returns true if the user is anonymous; that is, the user account was created
with
signInAnonymously() and has not been linked to another account with
linkWithCredential(AuthCredential).
|
| Task<AuthResult> | |
| Task<Void> | |
| Task<AuthResult> |
reauthenticateAndRetrieveData(AuthCredential
credential)
Reauthenticates the user with the given credential, and returns the profile
data for that account.
|
| Task<Void> |
reload()
Manually refreshes the data of the current user (for example, attached
providers, display name, and so on).
|
| Task<Void> |
sendEmailVerification(ActionCodeSettings
actionCodeSettings)
Initiates email verification for the user.
|
| Task<Void> |
sendEmailVerification()
Calls
sendEmailVerification(ActionCodeSettings) with null
actionCodeSettings.
|
| Task<AuthResult> | |
| Task<Void> | |
| Task<Void> | |
| Task<Void> | |
| Task<Void> |
Deletes the user record from your Firebase project's database. If the operation is successful, the user will be signed out.
Important: this is a security sensitive operation that requires the user to
have recently signed in. If this requirement isn't met, ask the user to authenticate
again and later call
reauthenticate(AuthCredential).
FirebaseAuthInvalidUserException
thrown if the current user's account has been disabled, deleted, or its credentials
are no longer valid
FirebaseAuthRecentLoginRequiredException thrown if the user's last sign-in
time does not meet the security threshold. Use
reauthenticate(AuthCredential) to resolve. This does not apply if the user
is anonymous.Returns the main display name of this user from the Firebase project's user
database. Unlike the display name property from instances of UserInfo
corresponding to authentication providers (like Google Sign-In), which is not
modifiable, this name can be updated at any time by calling
updateProfile(UserProfileChangeRequest).
This field will be automatically populated on account creation if the AuthCredential
used on
signInWithCredential(AuthCredential) contained such information.
Returns the main email address of the user, as stored in the Firebase project's user
database. Unlike the email property from instances of UserInfo
corresponding to authentication providers (like Github), which is not modifiable, this
email address can be updated at any time by calling
updateEmail(String).
This field will be automatically populated on account creation if the AuthCredential
used on
signInWithCredential(AuthCredential) contained such information, or if the
account was created with
createUserWithEmailAndPassword(String, String).
If the user also has a password, this email address can be used to sign in into the
account using
signInWithEmailAndPassword(String, String).
This email address is displayed in the Users section of the Firebase console.
Fetches a Firebase Auth ID Token for the user; useful when authenticating against your own backend. Use our server SDKs or follow the official documentation to securely verify the integrity and validity of this token.
FirebaseAuthInvalidUserException
if forceRefresh == true, thrown if the current user's account has been
disabled, deleted, or its credentials are no longer valid| forceRefresh | force refreshes the token. Should only be set to true if the token
is invalidated out of band. |
|---|
Task with the
GetTokenResultReturns the FirebaseUserMetadata
associated with this user.
Returns the phone number of the user, as stored in the Firebase project's user
database, or null if none exists. This can be updated at any time by
calling
updatePhoneNumber(PhoneAuthCredential).
This field will be automatically populated on account creation if the AuthCredential
used on
signInWithCredential(AuthCredential) contained such information. This phone
number is displayed in the Users section of the Firebase console.
Returns the URL of this user's main profile picture, as stored in the Firebase
project's user database. Unlike the profile URL property from instances of
UserInfo
corresponding to authentication providers (like Facebook Login), which is not
modifiable, this URL can be updated at any time by calling
updateProfile(UserProfileChangeRequest).
This field will be automatically populated on account creation if the AuthCredential
used on
signInWithCredential(AuthCredential) contained such information.
Returns a List of
UserInfo objects
that represents the linked identities of the user using different authentication
providers that may be linked to their account. Use this to access, for example, your
user's basic profile information retrieved from Facebook whether or not the user used
Facebook Login to sign in to the current session.
Always returns PROVIDER_ID
Returns a string used to uniquely identify your user in your Firebase project's user database. Use it when storing information in Firebase Database or Storage, or even in your own backend.
This identifier is opaque and does not correspond necessarily to the user's email address or any other field.
Returns true if the user is anonymous; that is, the user account was created with
signInAnonymously()
and has not been linked to another account with
linkWithCredential(AuthCredential).
Attaches the given AuthCredential
to the user. This allows the user to sign in to this account in the future with
credentials for such provider.
FirebaseAuthWeakPasswordException
thrown if credential instanceof EmailAuthCredential and the password is
not strong enough
FirebaseAuthInvalidCredentialsException thrown if the
credential is malformed or expired
FirebaseAuthUserCollisionException thrown if there is another user account
associated with the given credentialFirebaseAuthInvalidUserException
thrown if the current user's account has been disabled, deleted, or its credentials
are no longer valid
FirebaseAuthRecentLoginRequiredException thrown if credential
instanceof EmailAuthCredential and if the user's last sign-in time does not
meet the security threshold. Use
reauthenticate(AuthCredential) to resolve. This does not apply if the user
is anonymous.| credential | a valid credential of a type not yet linked to this user |
|---|
Task of
AuthResultReauthenticates the user with the given credential. This is useful for operations
that require a recent sign-in, to prevent or resolve a
FirebaseAuthRecentLoginRequiredException.
FirebaseAuthInvalidUserException
thrown if the current user's account has been disabled or deleted
FirebaseAuthInvalidCredentialsException thrown if the
credential is malformed or has expired, or if it corresponds to another
existing user's account. Inspect the error code to desambiguate.| credential | authentication credential that must be valid for the current user. |
|---|
Reauthenticates the user with the given credential, and returns the profile data for
that account. This is useful for operations that require a recent sign-in, to prevent
or resolve a
FirebaseAuthRecentLoginRequiredException.
FirebaseAuthInvalidUserException
thrown if the current user's account has been disabled or deleted
FirebaseAuthInvalidCredentialsException thrown if the
credential is malformed or has expired, or if it corresponds to another
existing user's account. Inspect the error code to desambiguate.| credential | authentication credential that must be valid for the current user. |
|---|
AuthResult
containing the FirebaseUser
reference and AdditionalUserInfo.Manually refreshes the data of the current user (for example, attached providers, display name, and so on).
FirebaseAuthInvalidUserException
thrown if the current user's account has been disabled, deleted, or its credentials
are no longer validInitiates email verification for the user. Takes in an ActionCodeSettings
to allow linking back to your app in the email.
Task to track
completion of the sending operation.Calls
sendEmailVerification(ActionCodeSettings) with null actionCodeSettings.
Detaches credentials from a given provider type from this user. This prevents the user from signing in to this account in the future with credentials from such provider.
FirebaseAuthInvalidUserException
thrown if the current user's account has been disabled, deleted, or its credentials
are no longer valid| provider | a unique identifier of the type of provider to be unlinked, for example,
PROVIDER_ID. |
|---|
Task of
AuthResultUpdates the email address of the user.
Important: this is a security sensitive operation that requires the user to
have recently signed in. If this requirement isn't met, ask the user to authenticate
again and later call
reauthenticate(AuthCredential).
In addition, note that the original email address recipient will receive an email that allows them to revoke the email address change, in order to protect them from account hijacking.
FirebaseAuthInvalidCredentialsException thrown if the email
address is malformed
FirebaseAuthUserCollisionException thrown if there already exists an
account with the given email addressFirebaseAuthInvalidUserException
thrown if the current user's account has been disabled, deleted, or its credentials
are no longer valid
FirebaseAuthRecentLoginRequiredException thrown if the user's last sign-in
time does not meet the security threshold. Use
reauthenticate(AuthCredential) to resolve. This does not apply if the user
is anonymous.Updates the password of the user.
Important: this is a security sensitive operation that requires the user to
have recently signed in. If this requirement isn't met, ask the user to authenticate
again and later call
reauthenticate(AuthCredential).
Anonymous users who update both their email and password will no longer be anonymous. They will be able to log in with these credentials.
FirebaseAuthWeakPasswordException
thrown if the password is not strong enoughFirebaseAuthInvalidUserException
thrown if the current user's account has been disabled, deleted, or its credentials
are no longer valid
FirebaseAuthRecentLoginRequiredException thrown if the user's last sign-in
time does not meet the security threshold. Use
reauthenticate(AuthCredential) to resolve. This does not apply if the user
is anonymous.Updates the phone number of the user.
Important: this is a security sensitive operation that requires the user to
have recently signed in. If this requirement isn't met, ask the user to authenticate
again and later call
reauthenticate(AuthCredential).
FirebaseAuthUserCollisionException thrown if there already exists an
account with the given phone numberFirebaseAuthInvalidUserException
thrown if the current user's account has been disabled, deleted, or its credentials
are no longer valid
FirebaseAuthRecentLoginRequiredException thrown if the user's last sign-in
time does not meet the security threshold. Use
reauthenticate(AuthCredential) to resolve. This does not apply if the user
is anonymous.Updates the user profile information. Use UserProfileChangeRequest.Builder
to construct the request.
FirebaseAuthInvalidUserException
thrown if the current user's account has been disabled, deleted, or its credentials
are no longer valid