Shopify signs in the staff user of a specific store. It authenticates against the Admin API, so the identity it establishes is a merchant, not a shopper.

## Copy the redirect URI

In the [Authdog console](https://console.authdog.com), select the project and environment, open **Authentication > Providers**, find **Shopify**, 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 [Shopify Partner dashboard](https://partners.shopify.com/) and create an app, or create a custom app in the store's admin.
2. Under **App setup**, add the redirect URI from Authdog to the **Allowed redirection URL(s)**.
3. Request the `read_products`, `read_orders`, and `read_customers` scopes.
4. Copy the **Client ID** (API key) and **Client secret**.
5. Note the store's `myshopify.com` host — that is the Domain URI.

> **Note**
>
> This connector is for merchant and staff sign-in through the Admin API.
> It is not Shopify's customer-account login, and it does not authenticate shoppers.

## Configure Authdog

| Field | Value |
| --- | --- |
| **Client ID** | The client identifier from the provider |
| **Client Secret** | The client secret from the provider |
| **Domain URI** | The store's myshopify host, e.g. `https://acme.myshopify.com` |

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

## What Shopify returns

Authdog requests the `read_products read_orders read_customers` scopes and reads the profile from ``<domain>/admin/api/2024-04/shop.json``.

The shop endpoint returns the store record — shop id, name, and the shop owner's email — which Authdog uses as the profile.

Because the Domain URI names one store, one connection signs in one store. A multi-store product needs a connection per store, or a different integration pattern.

## 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 Shopify button and complete the flow.
3. Confirm the user appears under **Users** in the console with a Shopify identity linked.

## Troubleshooting

| Symptom | Cause |
| --- | --- |
| `invalid_request: redirect_uri is not whitelisted` | The URI is missing from the allowed redirection URLs |
| `403` from the shop endpoint | The app lacks the requested read scopes on that store |
| 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 |
