
# 接続の OIDC 設定を取得する

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

企業向け OIDC 接続のリライングパーティ設定を返します。内容は、IdP に登録する `redirect_uri`、`issuer`、`client_id`、クライアント認証方式、プロバイダープロファイルです。クライアントシークレットは決して返されません。レスポンスでは、保存されているかどうか（`client_secret_configured`）と、日付を指定していた場合の有効期限のみを示します。`ETag` ヘッダーには設定のバージョンが含まれます。設定を更新するときは `If-Match` として送信してください。読み取りは監査されません。

## リクエスト

| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| `connection_id` | path | はい | 企業向け接続の ID（`conn_…`）。 |

## レスポンス

設定と `ETag` を含む `200 OK`。

```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"
}
```

| フィールド | 説明 |
|---|---|
| `redirect_uri` | IdP に登録するコールバック。設定が最初に書き込まれたときに固定されます。 |
| `issuer` | IdP の issuer URL。 |
| `client_id` | IdP に登録されたクライアント ID。 |
| `client_auth_method` | `private_key_jwt`、`client_secret_basic`、`client_secret_post` のいずれか。 |
| `provider_profile` | `entra`、`okta`、`google`、`keycloak`、`ping`、`onelogin`、`jumpcloud`、`generic` のいずれか。 |
| `client_secret_configured` | クライアントシークレットが保存されているかどうか。その値は返されません。 |
| `client_secret_expires_at` | IdP がシークレットを失効させる日時。指定されていない場合は `null`。 |

## エラー

| HTTP | code | 発生条件 |
|---|---|---|
| 404 | `not_found` | 接続がこの環境に存在しない、企業向け OIDC 接続ではない、または OIDC 設定がまだない。 |
| 401 | `unauthenticated` | 認証情報がない、無効である、または失効している。 |
| 403 | `insufficient_permissions` | 認証情報に必要な権限がない。 |
| 429 | `rate_limited` | レート制限を超えた。`Retry-After` の期間を待ってから再試行してください。 |
| 503 | `service_unavailable` | 依存先が一時的に利用できない。`Retry-After` の期間を待ってから再試行してください。 |

## 例

```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
```
