FirebaseAuth

public class FirebaseAuth extends Object

This class is the entry point for all server-side Firebase Authentication actions.

You can get an instance of FirebaseAuth via getInstance(FirebaseApp) and then use it to perform a variety of authentication-related operations, including generating custom tokens for use by client-side code, verifying Firebase ID Tokens received from clients, or creating new FirebaseApp instances that are scoped to a particular authentication UID.

Public Method Summary

Task<String>
createCustomToken(String uid)
Creates a Firebase Custom Token associated with the given UID.
Task<String>
createCustomToken(String uid, Map<String, Object> developerClaims)
Creates a Firebase Custom Token associated with the given UID and additionally containing the specified developerClaims.
static FirebaseAuth
getInstance()
Gets the FirebaseAuth instance for the default FirebaseApp.
synchronized static FirebaseAuth
getInstance(FirebaseApp app)
Gets an instance of FirebaseAuth for a specific FirebaseApp.
Task<FirebaseToken>
verifyIdToken(String token)
Parses and verifies a Firebase ID Token.

Inherited Method Summary

Public Methods

public Task<String> createCustomToken (String uid)

Creates a Firebase Custom Token associated with the given UID. This token can then be provided back to a client application for use with the signInWithCustomToken authentication API.

Parameters
uid The UID to store in the token. This identifies the user to other Firebase services (Firebase Database, Firebase Auth, etc.)
Returns
  • A Task which will complete successfully with the created Firebase Custom Token, or unsuccessfully with the failure Exception.

public Task<String> createCustomToken (String uid, Map<String, Object> developerClaims)

Creates a Firebase Custom Token associated with the given UID and additionally containing the specified developerClaims. This token can then be provided back to a client application for use with the signInWithCustomToken authentication API.

Parameters
uid The UID to store in the token. This identifies the user to other Firebase services (Realtime Database, Storage, etc.). Should be less than 128 characters.
developerClaims Additional claims to be stored in the token (and made available to security rules in Database, Storage, etc.). These must be able to be serialized to JSON (e.g. contain only Maps, Arrays, Strings, Booleans, Numbers, etc.)
Returns
  • A Task which will complete successfully with the created Firebase Custom Token, or unsuccessfully with the failure Exception.

public static FirebaseAuth getInstance ()

Gets the FirebaseAuth instance for the default FirebaseApp.

Returns
  • The FirebaseAuth instance for the default FirebaseApp.

public static synchronized FirebaseAuth getInstance (FirebaseApp app)

Gets an instance of FirebaseAuth for a specific FirebaseApp.

Parameters
app The FirebaseApp to get a FirebaseAuth instance for.
Returns
  • A FirebaseAuth instance.

public Task<FirebaseToken> verifyIdToken (String token)

Parses and verifies a Firebase ID Token.

A Firebase application can identify itself to a trusted backend server by sending its Firebase ID Token (accessible via the getToken API in the Firebase Authentication client) with its request.

The backend server can then use the verifyIdToken() method to verify the token is valid, meaning: the token is properly signed, has not expired, and it was issued for the project associated with this FirebaseAuth instance (which by default is extracted from your service account)

If the token is valid, the returned Task will complete successfully and provide a parsed version of the token from which the UID and other claims in the token can be inspected. If the token is invalid, the Task will fail with an exception indicating the failure.

Parameters
token A Firebase ID Token to verify and parse.
Returns
  • A Task which will complete successfully with the parsed token, or unsuccessfully with the failure Exception.

Send feedback about...

Need help? Visit our support page.