연결 테스트

POST /v1/connections/{connection_id}:test · 권한 connections:write

엔터프라이즈 연결의 현재 설정으로 테스트 로그인을 시작하고 테스트 URL을 반환합니다. 연결을 설정하는 사용자는 브라우저에서 URL을 열고 ID 공급자에서 로그인합니다. 그런 다음 브라우저는 test_id 쿼리 매개변수와 함께 return_url로 돌아갑니다. 결과는 최신 테스트 결과 조회에서 확인하십시오.

테스트 로그인은 세션을 생성하지 않고, 사용자를 프로비저닝하지 않으며, 계정을 연결하지 않습니다. 연결을 활성화하려면 테스트에 통과해야 하며, ID 공급자 설정을 변경하면 이 테스트는 무효화됩니다.

라이브 설정 대신 초안 리비전을 테스트하려면 revision_id를 보내십시오. 초안은 이 테스트에 한해서만 라이브 설정 위에 적용됩니다(SP 호스트 마이그레이션의 경우 테스트 URL은 새 호스트에 있습니다). 리비전 테스트에 통과하면 리비전 게시에 필요한 근거가 되지만, 라이브 설정의 활성화 근거로는 인정되지 않습니다.

test_url은 베어러 링크입니다. 이 URL을 가진 사람은 10분 이내에 한 번 테스트를 실행할 수 있습니다. 이 URL은 이 응답에서만 반환되며(Cache-Control: no-store), 로그에 기록되거나 감사되지 않습니다. 같은 Idempotency-Key로 요청을 반복하면, 재생된 응답에는 test_url이 없고 secret_redacted: true가 포함됩니다. 이 경우 새 테스트를 시작하십시오. 시작은 테스트 ID만 포함하여 connection.test_started로 감사됩니다.

요청

필드 유형 필수 설명
connection_id path 예 엔터프라이즈 연결 ID(conn_…)입니다.
return_url string 예 테스트 후 브라우저가 돌아갈 절대 https URL이며, 최대 2048바이트입니다. test_id가 쿼리 매개변수로 추가됩니다.
revision_id string 아니요 라이브 설정 대신 테스트할 연결의 초안 리비전(connrev_…)입니다.

응답

200 OK:

{
  "test_id": "conntest_01j9xr4a6b8c0d2e4f6g8h0j2k",
  "test_url": "https://acme.eu1.keenauth.app/sso/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/start?t=…",
  "expires_at": "2026-10-20T10:10:00Z"
}
필드 설명
test_id 테스트 ID(conntest_…)입니다.
test_url 브라우저에서 열 URL입니다. 10분 동안 한 번만 유효합니다. 공유하거나 기록하지 마십시오. 재생된 응답에는 없습니다.
expires_at 테스트 URL이 만료되는 시점입니다.
secret_redacted 같은 Idempotency-Key에 대해 재생된 응답이면 true입니다.

오류

HTTP code 발생 조건
404 not_found 이 환경에 연결이 존재하지 않거나 엔터프라이즈 연결이 아닙니다.
409 conflict 연결을 아직 테스트할 수 없습니다(프로토콜 설정 없음).
422 validation_failed return_url이 없거나 절대 https URL이 아닙니다(errors[]가 /return_url을 가리킴). 또는 revision_id 형식이 잘못되었거나(invalid_value), 이 연결의 초안 리비전이 아닙니다(not_found, 포인터 /revision_id).
400 unknown_field 본문에 알 수 없는 필드가 있습니다.
401 unauthenticated 자격 증명이 없거나 잘못되었거나 취소되었습니다.
403 insufficient_permissions 자격 증명에 필요한 권한이 없습니다.
429 rate_limited 요청 한도를 초과했습니다. Retry-After 기간 후에 다시 시도하십시오.
503 service_unavailable 종속 서비스를 일시적으로 사용할 수 없습니다. Retry-After 기간 후에 다시 시도하십시오.

예제

curl -X POST "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b:test" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"return_url":"https://admin.example.com/sso/test-done"}'
keenauth connections test conn_01j9xp6q0r1s5t7v9w1x3y5z7b --return-url https://admin.example.com/sso/test-done