DigitalOcean signs users in with their DigitalOcean account — a natural fit for infrastructure tooling, deployment dashboards, and anything that already talks to their API.

## Copy the redirect URI

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

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

## Create the application

1. Open the [DigitalOcean API applications page](https://cloud.digitalocean.com/account/api/applications).
2. Select **Create OAuth application** (or **Register an application**).
3. Fill in the application name, homepage, and description.
4. Under **Redirect URI**, paste the redirect URI from Authdog.
5. Create the application, then copy the **Client ID** and **Client Secret**.

## Configure Authdog

| Field | Value |
| --- | --- |
| **Client ID** | The client identifier from the provider |
| **Client Secret** | The client secret from the provider |

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

## What DigitalOcean returns

Authdog requests the `read` scope and reads the profile from `https://api.digitalocean.com/v2/account`.

The account endpoint returns the account UUID, email, email verification status, and droplet limits. Authdog links returning users on the account UUID.

The `read` scope is enough for sign-in. Requesting `write` would let your token change the user's infrastructure — do not ask for it just to authenticate.

## Test it

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

## Troubleshooting

| Symptom | Cause |
| --- | --- |
| `invalid_client` | Client ID or secret belongs to a different application |
| Redirect or callback URL error | The URI registered with the provider does not match Authdog's exactly |
| Works in one environment only | Each environment has its own `connectionId`, and so its own redirect URI to register |

## Related

| Read | To learn how to |
| --- | --- |
| [Connectors](/docs/connectors) | Set up any other social provider |
