---
canonical_url: "https://docs.composio.dev/toolkits/firebase"
markdown_url: "https://docs.composio.dev/toolkits/firebase.md"
product: "platform"
version: null
last_updated: null
---

# Firebase

Firebase Authentication client tools for project discovery, user sign-in and sign-up flows, out-of-band codes, and Secure Token refresh using a Firebase Web API Key.

- **Category:** security & identity tools
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 8
- **Triggers:** 0
- **Slug:** `FIREBASE`
- **Version:** 20260826_00

## Tools

### Discover Sign-In Methods

**Slug:** `FIREBASE_DISCOVER_SIGN_IN_METHODS`

Look up sign-in methods previously used by a Firebase account email. Firebase anti-enumeration settings can suppress results, so empty lists or an absent registered value do not prove that the account does not exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `identifier` | string | Yes | Email address whose previously used Firebase sign-in methods should be discovered. This is personal data. |
| `continue_uri` | string | Yes | Authorized URI to continue or return to after the sign-in flow. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Auth Project Config

**Slug:** `FIREBASE_GET_AUTH_PROJECT_CONFIG`

Get the public Firebase Authentication configuration associated with the connected Web API key, including the project ID and authorized domains. This does not authenticate a user or grant backend access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `firebase_app_id` | string | No | Optional Firebase App ID used to request app-specific public configuration. This value is not a secret. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Refresh ID Token

**Slug:** `FIREBASE_REFRESH_ID_TOKEN`

Exchange a Firebase refresh token for a fresh Firebase ID token and rotated refresh token using Google's Secure Token service.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `grant_type` | string | No | Fixed Secure Token grant type. Only refresh_token is accepted. |
| `refresh_token` | string | Yes | Firebase refresh token issued by a prior sign-in. This is a long-lived secret bearer credential; never log, echo, or retain it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Sign In With Custom Token

**Slug:** `FIREBASE_SIGN_IN_WITH_CUSTOM_TOKEN`

Exchange a trusted server-minted Firebase custom token for a Firebase ID token and refresh token. The exchange may create the Firebase user on their first sign-in.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `custom_token` | string | Yes | Server-minted Firebase custom token to exchange. This is a secret bearer credential; never log, echo, or retain it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Sign In With Email Link

**Slug:** `FIREBASE_SIGN_IN_WITH_EMAIL_LINK`

Complete Firebase email-link sign-in using an email address and the one-time OOB code from a previously delivered sign-in link. This may create the Firebase user on first sign-in; it does not send email.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address to which the Firebase sign-in link was issued. |
| `oob_code` | string | Yes | Single-use out-of-band code extracted from the Firebase email sign-in link. This is a secret authentication code; never log, echo, or retain it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Sign In With Identity Provider

**Slug:** `FIREBASE_SIGN_IN_WITH_IDP`

Sign in with one configured external identity provider using provider-specific OAuth or OIDC credential parameters. This sign-in-only tool may create the Firebase user on first sign-in and rejects Firebase idToken account-linking semantics.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `provider_id` | string | Yes | Firebase provider ID, such as google.com, apple.com, facebook.com, or an oidc.* provider configured in the project. |
| `request_uri` | string | Yes | Authorized redirect/request URI associated with the provider flow. It must match the project's provider configuration. |
| `provider_parameters` | object | Yes | Credentials issued by the configured identity provider. Use id_token with an optional nonce for OIDC or Google, access_token for OAuth 2 providers, access_token with oauthTokenSecret for OAuth 1 providers, or code for an authorization-code flow. Do not include providerId or the camel-case Firebase idToken used for account linking. This entire object is sensitive. |
| `return_idp_credential` | boolean | No | Whether to include sensitive upstream identity-provider credentials and raw user information in the response. Keep false unless explicitly needed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Sign In With Password

**Slug:** `FIREBASE_SIGN_IN_WITH_PASSWORD`

Sign in an existing Firebase Authentication user with email and password and return fresh ID and refresh tokens. Requires the Email/Password provider to be enabled.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Firebase user's email address. |
| `password` | string | Yes | Firebase user's password. This secret is sent only to Firebase for sign-in. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Verify Password Reset Code

**Slug:** `FIREBASE_VERIFY_PASSWORD_RESET_CODE`

Validate a Firebase password-reset OOB code and identify the associated email and request type without changing the password.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `oob_code` | string | Yes | Single-use password-reset code from a previously delivered Firebase reset link. This secret is sent only to Firebase for validation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
