# OpenID Connect configuration

Revolut provides OpenID Connect discovery endpoints that expose essential configuration details for OAuth 2.0 and OpenID Connect integration.

## Discovery endpoints

- **Production**: `https://sso.revolut.com/.well-known/openid-configuration`
- **Sandbox**: `https://sandbox-sso.revolut.com/.well-known/openid-configuration`

## Configuration details

These endpoints provide essential configuration including:

- **Authorization endpoint** - OAuth 2.0 authorization URL
- **Token endpoint** - Token exchange URL for code-to-token conversion
- **JWKS URI** - JSON Web Key Set for token signature verification
- **Supported scopes** - Available OpenID Connect scopes
- **Supported response types** - OAuth 2.0 response types (code, token, etc.)
- **Supported grant types** - OAuth 2.0 grant types (authorization_code, etc.)
- **Issuer** - Token issuer identifier
- **Subject types supported** - Subject identifier types
- **ID token signing algorithms** - Supported JWT signing algorithms

## Usage example

```javascript
const response = await fetch(
  'https://sso.revolut.com/.well-known/openid-configuration',
)
const config = await response.json()

console.log('Authorization endpoint:', config.authorization_endpoint)
console.log('Token endpoint:', config.token_endpoint)
console.log('JWKS URI:', config.jwks_uri)
console.log('Supported scopes:', config.scopes_supported)
```

## Integration notes

:::info[Automatic Handling]
The Revolut ID SDK automatically handles this configuration internally. You don't need to manually fetch or configure these endpoints when using the SDK.
:::

:::tip[Custom Implementations]
This configuration is useful for:

- Debugging authentication flows
- Understanding available endpoints and capabilities
  :::

## Related documentation

- See [Code Exchange](/docs/sdks/revolut-id-sdk/web/code-exchange) for token endpoint usage
- See [RevolutId Interface](/docs/sdks/revolut-id-sdk/web/api-reference/revolut-id) for SDK configuration