# Setting up Google

Copy as Markdown[View as Markdown](/docs/development/authentication/providers/setting-up-google.md)

***

**Added in** `eventcatalog@2.43.3`

i

This feature is available on the

<!-- -->

[Scale](/pricing.md)

<!-- -->

[ plan](/pricing.md).

info

This guide takes your through setting up a protected sign-in screen for your docs. Before going through this guide, make sure you've first gone through [Enabling authentication](/docs/development/authentication/enabling-authentication.md).

To setup your EventCatalog site with visitor authentication using [Google](https://accounts.google.com/), the process looks as follows:

1. Create a new Google OAuth app
2. Configure the OAuth app in EventCatalog
3. Test the authentication

## Create a new Google OAuth app[​](#create-a-new-google-oauth-app "Direct link to Create a new Google OAuth app")

First, you will need to create a new Google OAuth app in the Google Cloud Console.

1. Go to [Google Cloud Console](https://console.cloud.google.com/)
2. Create a new project or select an existing one
3. Navigate to "APIs & Services" → "Library"
4. Search for and enable the "Google+ API"
5. Go to "APIs & Services" → "Credentials"
6. Click "Create Credentials" → "OAuth client ID"
7. If prompted, configure the OAuth consent screen:

* Choose "External" for testing
* Fill in app name: `EventCatalog`
* Add your user support email and developer contact email
* Save and continue through the remaining screens

8. Create the OAuth client ID:

* **Application type:** Web application
* **Name:** `EventCatalog`
* **Authorized JavaScript origins:** `{YOUR_EVENTCATALOG_SITE_URL}`
  * Local development: `http://localhost:3000`
* **Authorized redirect URIs:** `{YOUR_EVENTCATALOG_SITE_URL}/api/auth/callback/google`
  * Local development: `http://localhost:3000/api/auth/callback/google`

9. Click "Create" and copy the Client ID and Client Secret

## Configure the OAuth app in EventCatalog[​](#configure-the-oauth-app-in-eventcatalog "Direct link to Configure the OAuth app in EventCatalog")

Add your Google Client ID and Client Secret to your `.env` file.

.env

```
AUTH_GOOGLE_CLIENT_ID={YOUR_GOOGLE_CLIENT_ID}
AUTH_GOOGLE_CLIENT_SECRET={YOUR_GOOGLE_CLIENT_SECRET}
```

In your eventcatalog.auth.js file, add the following:

eventcatalog.auth.js

```
export default {
  enabled: true,
  google: {
    clientId: process.env.AUTH_GOOGLE_CLIENT_ID,
    clientSecret: process.env.AUTH_GOOGLE_CLIENT_SECRET,
  },
}
```

## Test the authentication[​](#test-the-authentication "Direct link to Test the authentication")

Restart your EventCatalog server and test the authentication.

```
npm run dev
```

All pages should now be protected and require a Google account to access.

![Google authentication](/assets/images/google-auth-a12a93f3c8eeb31fc479c3cbc914d1ea.png)

## Found an issue?[​](#found-an-issue "Direct link to Found an issue?")

Remember to setup the prerequisites for this guide:

* [Enabling authentication](/docs/development/authentication/enabling-authentication.md)

If you still have problems, please [let us know](https://github.com/eventcatalog/eventcatalog/issues/new/choose).
