Klarna signs users in with their Klarna account. Klarna runs separate hosts per region and for its playground, so this connector takes a Domain URI.

## Copy the redirect URI

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

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

## Create the application

1. Request OAuth credentials from Klarna for your merchant account.
2. Provide Klarna with the redirect URI from Authdog so it can be allow-listed.
3. Copy the issued **Client ID** and **Client Secret**.
4. Choose the Domain URI for the region you operate in.

## Configure Authdog

| Field | Value |
| --- | --- |
| **Client ID** | The client identifier from the provider |
| **Client Secret** | The client secret from the provider |
| **Domain URI** | The Klarna login host for your region, e.g. `https://login.klarna.com` |

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

## What Klarna returns

Authdog requests the `openid email profile` scopes and reads the profile from ``<domain>/connect/userinfo``.

The userinfo endpoint returns the `sub` identifier, email, and name claims for the Klarna account.

Known hosts: `https://login.klarna.com` (production EU), `https://login.klarna.com/na/lp/idp` (production NA), `https://login.playground.klarna.com` (playground EU), and `https://login.playground.klarna.com/na/lp/idp` (playground NA).

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

## Troubleshooting

| Symptom | Cause |
| --- | --- |
| Discovery or authorize 404 | The Domain URI is missing the regional path segment |
| `invalid_client` | Playground credentials used against production |
| 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 |
