
# Obtener la configuración OIDC de una conexión

`GET /v1/connections/{connection_id}/oidc` · permiso `connections:read`

Devuelve la configuración de relying party de una conexión OIDC empresarial: el `redirect_uri` que hay que registrar en el proveedor de identidad, el `issuer`, el `client_id`, el método de autenticación del cliente y el perfil del proveedor. El client secret nunca se devuelve: la respuesta indica solo si hay uno guardado (`client_secret_configured`) y cuándo caduca, si indicaste una fecha. La cabecera `ETag` contiene la versión de la configuración; envíala como `If-Match` cuando la actualices. Las lecturas no se auditan.

## Solicitud

| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `connection_id` | path | sí | ID de la conexión empresarial (`conn_…`). |

## Respuesta

`200 OK` con la configuración y un `ETag`.

```json
{
  "redirect_uri": "https://acme.eu1.keenauth.app/sso/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/callback",
  "issuer": "https://idp.example.com",
  "client_id": "keenauth-acme",
  "client_auth_method": "client_secret_basic",
  "provider_profile": "generic",
  "client_secret_configured": true,
  "client_secret_expires_at": "2027-04-01T00:00:00Z"
}
```

| Campo | Descripción |
|---|---|
| `redirect_uri` | El callback que hay que registrar en el proveedor de identidad. Se fija en la primera escritura de la configuración. |
| `issuer` | La URL del emisor del proveedor de identidad. |
| `client_id` | El client ID registrado en el proveedor de identidad. |
| `client_auth_method` | `private_key_jwt`, `client_secret_basic` o `client_secret_post`. |
| `provider_profile` | `entra`, `okta`, `google`, `keycloak`, `ping`, `onelogin`, `jumpcloud` o `generic`. |
| `client_secret_configured` | Indica si hay un client secret guardado. Su valor nunca se devuelve. |
| `client_secret_expires_at` | Cuándo caduca el secret en el proveedor de identidad; `null` si no se indicó. |

## Errores

| HTTP | code | Cuándo |
|---|---|---|
| 404 | `not_found` | La conexión no existe en este entorno, no es una conexión OIDC empresarial o todavía no tiene configuración OIDC. |
| 401 | `unauthenticated` | La credencial falta, no es válida o fue revocada. |
| 403 | `insufficient_permissions` | La credencial no tiene el permiso necesario. |
| 429 | `rate_limited` | Se superó el límite de frecuencia; reintenta después del periodo `Retry-After`. |
| 503 | `service_unavailable` | Una dependencia no está disponible temporalmente; reintenta después del periodo `Retry-After`. |

## Ejemplo

```bash
curl -i "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/oidc" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

```bash
keenauth connections oidc get conn_01j9xp6q0r1s5t7v9w1x3y5z7b
```
