연결의 OIDC 구성 조회
GET /v1/connections/{connection_id}/oidc · 권한 connections:read
기업 OIDC 연결의 릴라잉 파티(Relying Party) 구성을 반환합니다. 여기에는 ID 공급자에 등록할 redirect_uri, issuer, client_id, 클라이언트 인증 방식, 공급자 프로필이 포함됩니다. 클라이언트 시크릿은 절대 반환되지 않습니다. 응답에는 시크릿이 저장되어 있는지(client_secret_configured)와, 날짜를 지정한 경우 만료 시점만 표시됩니다. ETag 헤더에는 구성의 버전이 담겨 있으며, 구성을 업데이트할 때 If-Match로 보내야 합니다. 조회는 감사 기록되지 않습니다.
요청
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
connection_id |
path | 예 | 기업 연결 ID(conn_…). |
응답
구성과 ETag가 포함된 200 OK.
{
"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 |
ID 공급자에 등록할 콜백입니다. 구성이 처음 기록될 때 고정됩니다. |
issuer |
ID 공급자의 issuer URL입니다. |
client_id |
ID 공급자에 등록된 클라이언트 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 |
ID 공급자가 시크릿을 만료시키는 시점입니다. 지정하지 않았다면 null입니다. |
오류
| HTTP | code | 발생 조건 |
|---|---|---|
| 404 | not_found |
연결이 이 환경에 없거나, 기업 OIDC 연결이 아니거나, 아직 OIDC 구성이 없습니다. |
| 401 | unauthenticated |
자격 증명이 없거나, 유효하지 않거나, 폐기되었습니다. |
| 403 | insufficient_permissions |
자격 증명에 필요한 권한이 없습니다. |
| 429 | rate_limited |
요청 한도를 초과했습니다. Retry-After 기간 이후에 다시 시도하세요. |
| 503 | service_unavailable |
종속 서비스를 일시적으로 사용할 수 없습니다. Retry-After 기간 이후에 다시 시도하세요. |
예시
curl -i "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/oidc" \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
keenauth connections oidc get conn_01j9xp6q0r1s5t7v9w1x3y5z7b