Discord is the connector for products built around a community — game tooling, bots, creator platforms. The account maps directly to the server your users already talk in.

## Copy the redirect URI

In the [Authdog console](https://console.authdog.com), select the project and environment, open **Authentication > Providers**, find **Discord**, and click **Enable**. Copy the redirect URI shown in the form:

```url
https://identity.authdog.com/api/v1/callback/<connectionId>
```

## Create the Discord application

1. Open the [Discord Developer Portal](https://discord.com/developers/applications) and select **New Application**.
2. Name it and accept the terms.
3. Open **OAuth2** in the sidebar.
4. Under **Redirects**, add the redirect URI from Authdog and save. Discord accepts several, so all your environments can share one application.
5. Copy the **Client ID**, then select **Reset Secret** to reveal and copy the **Client Secret**.

## Configure Authdog

| Field | Value |
| --- | --- |
| **Client ID** | From the **OAuth2** page |
| **Client Secret** | Revealed under **Client Secret** |

Save, then toggle the connection **active**.

## What Discord returns

Authdog requests `identify email` and reads the profile from `https://discord.com/api/users/@me`: the snowflake ID, username, global display name, avatar, and email with its verified flag.

Usernames are mutable and, since Discord's move to unique handles, no longer carry a discriminator. Never key anything on the username — the snowflake ID is the stable identifier, and it is what Authdog links on.

Unverified Discord accounts can still authorize. If email verification matters to you, check the verified flag rather than assuming the address is confirmed.

## Test it

1. Open your environment's hosted sign-in page, or link to `https://identity.authdog.com/api/v1/signin/<connectionId>`.
2. Select **Continue with Discord** and authorize.
3. Confirm the user appears under **Users** with a Discord identity linked.

## Troubleshooting

| Symptom | Cause |
| --- | --- |
| `Invalid OAuth2 redirect_uri` | The URI is missing from **Redirects**, or was added but not saved |
| `invalid_client` | The client secret was reset after being copied into Authdog |
| Missing email | The `email` scope was stripped by a custom authorization link |

## Related

| Read | To learn how to |
| --- | --- |
| [Connectors](/docs/connectors) | Set up any other social provider |
| [Twitch](/docs/connectors/twitch) | Add the other community and gaming identity |
