애플리케이션 연결 바꾸기
PUT /v1/applications/{application_id}/connections · 권한 applications:write 및 connections:write
애플리케이션에서 활성화된 연결 목록 전체를 한 번에 바꿉니다. connection_ids의 순서는 호스팅된 로그인 페이지의 버튼 순서입니다. 빈 목록은 모든 연결을 비활성화합니다. 각 연결은 같은 환경에 있어야 합니다. 다른 환경의 연결은 존재하지 않는 것으로 취급되며(/connection_ids에서 422), 아무것도 기록되지 않습니다. 애플리케이션이 이미 가진 목록을 보내도 아무것도 바뀌지 않고 버전도 유지됩니다. 이 변경은 관리 감사 로그에 application.updated로 기록되고 application_changed 이벤트로 게시됩니다. 연결을 제거하면 다음 로그인부터 적용됩니다.
요청
헤더: If-Match: "<version>"(선택). If-Match를 지정하면 애플리케이션이 해당 버전일 때에만 목록이 기록됩니다(그렇지 않으면 412). 지정하지 않으면 버전과 관계없이 목록이 기록됩니다. 재시도를 안전하게 하려면 Idempotency-Key 헤더를 보내십시오.
| 매개변수 | 위치 | 필수 | 설명 |
|---|---|---|---|
application_id |
path | 예 | 애플리케이션 ID. 접두사는 app_입니다. |
본문
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
connection_ids |
문자열 배열 | 예 | 연결 ID(conn_…). 고유해야 하며, 최대 100개이고, 버튼 순서대로 지정합니다. |
응답
200 OK와 함께 애플리케이션 및 새 ETag를 반환합니다.
오류
모든 오류는 안정적인 code를 가진 application/problem+json 본문입니다.
| HTTP | code |
발생 조건 |
|---|---|---|
| 400 | malformed_request, unknown_field |
본문이 유효한 JSON이 아니거나 알 수 없는 필드가 있습니다. |
| 401 | unauthenticated |
API 키가 없거나, 잘못되었거나, 해지되었습니다. |
| 403 | insufficient_permissions |
키에 applications:write 또는 connections:write 권한이 없습니다. |
| 404 | not_found |
이 환경에 애플리케이션이 없습니다(또는 ID 형식이 잘못되었습니다). |
| 412 | precondition_failed |
If-Match의 버전이 오래되었습니다. |
| 422 | validation_failed |
connection_ids가 없거나, 100개를 초과하거나, ID 형식이 잘못되었거나 중복되었거나, 이 환경에 없는 연결이 포함되어 있습니다. |
| 429 | rate_limited |
요청 한도를 초과했습니다. Retry-After를 따르십시오. |
| 503 | service_unavailable |
종속 서비스를 일시적으로 사용할 수 없습니다. 나중에 다시 시도하십시오. |
예시
curl -X PUT https://api.eu.keenauth.com/v1/applications/app_6f8d0cjgbmf0gtn2rg6pscp3cg/connections \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"connection_ids":["conn_01h455vb4pex5vsknk084sn02q"]}'
CLI: keenauth applications put-connections app_6f8d0cjgbmf0gtn2rg6pscp3cg --connection-ids conn_01h455vb4pex5vsknk084sn02q (모든 연결을 비활성화하려면 --data -와 함께 {"connection_ids":[]}를 보내십시오)