> ## Documentation Index
> Fetch the complete documentation index at: https://formbricks.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Google OAuth

> Configure Google OAuth for secure Single Sign-On with your Formbricks instance. Implement enterprise-grade authentication for your survey platform with Google credentials.

<Note>Google OAuth is part of the Formbricks [Enterprise Edition](/self-hosting/advanced/license)</Note>

### Google OAuth

Integrating Google OAuth with your Formbricks instance allows users to log in using their Google credentials, ensuring a secure and streamlined user experience. This guide will walk you through the process of setting up Google OAuth for your Formbricks instance.

### Requirements

* A Google Cloud Platform (GCP) account

* A Formbricks instance running

### How to connect your Formbricks instance to Google

<Steps>
  <Step title="Create a GCP Project">
    * Navigate to the [GCP Console](https://console.cloud.google.com/).
    * From the projects list, select a project or create a new one.
  </Step>

  <Step title="Setting up OAuth 2.0">
    * If the **APIs & services** page isn't already open, open the console left side menu and select **APIs & services**.
    * On the left, click **Credentials**.
    * Click **Create Credentials**, then select **OAuth client ID**.
  </Step>

  <Step title="Configure OAuth Consent Screen">
    * If this is your first time creating a client ID, configure your consent screen by clicking **Consent Screen**.
    * Fill in the necessary details and under **Authorized domains**, add the domain where your Formbricks instance is hosted.
  </Step>

  <Step title="Create OAuth 2.0 Client IDs">
    * Select the application type **Web application** for your project and enter any additional information required.
    * Ensure to specify authorized JavaScript origins and authorized redirect URIs.

    ```
    Authorized JavaScript origins: {WEBAPP_URL}
    Authorized redirect URIs: {WEBAPP_URL}/api/auth/callback/google
    ```
  </Step>

  <Step title="Update Environment Variables in Docker">
    * To integrate the Google OAuth, you have two options: either update the environment variables in the docker-compose file or directly add them to the running container.

    * In your Docker setup directory, open the `.env` file, and add or update the following lines with the `Client ID` and `Client Secret` obtained from Google Cloud Platform:

    ```sh theme={null}
    GOOGLE_CLIENT_ID=your-client-id-here
    GOOGLE_CLIENT_SECRET=your-client-secret-here
    ```

    * Alternatively, you can add the environment variables directly to the running container using the following commands (replace `container_id` with your actual Docker container ID):

    ```sh theme={null}
    docker exec -it container_id /bin/bash
    export GOOGLE_CLIENT_ID=your-client-id-here
    export GOOGLE_CLIENT_SECRET=your-client-secret-here
    exit
    ```
  </Step>

  <Step title="Restart Your Formbricks Instance">
    <Note>
      Restarting your Docker containers may cause a brief period of downtime. Plan accordingly.
    </Note>

    * Once the environment variables have been updated, it's crucial to restart your Docker containers to apply the changes. This ensures that your Formbricks instance can utilize the new Google OAuth configuration for user authentication.

    * Navigate to your Docker setup directory where your `docker-compose.yml` file is located.

    * Run the following command to bring down your current Docker containers and then bring them back up with the updated environment configuration.
  </Step>
</Steps>
