JWKS public key retrieval (CRYPTO_KEY_SCHEMA §6)
GET /v1/crypto/public-key 공개키 조회 단일 진입점.
Phase 2 외부 표면 6호 — env_scope 별 ACTIVE + RETIRING JWKS 공개키 회수. 목록 조회와 같은 읽기 패턴을 그대로 쓴다(원칙 1 공통모듈화 · 3 일관성). SELECT 만이므로 audit 신규 적재 0건 — 정책 평가 자체의 auth.policy.evaluation audit 1건만 §5-11 에서 적재.
env_scope 전달: resolve_env_scope dependency — Query env_scope 또는 X-Env-Scope 헤더 (AUTH_POLICY_INTERFACE §5-5-i Query 관행 유지, PR-ENV-WIRE).
응답 분기 (CryptoKeyError 2종 + ValueError -> ERROR_CODES.md envelope): - 정상 조회 -> 200 OK + JWKS envelope ({keys: [{kid, kty, alg, use, n, e}, ...]}) - 정책 거부 (AuthPolicyError) -> 401/402/403/422/429 (PR-M 정밀 매핑, 미들웨어 위임) - Service 거부 (CryptoKeyError) -> 2 error_code 정밀 매핑: * NO_ACTIVE_KEY_FOR_ENV_SCOPE -> 503 SERVICE_UNAVAILABLE * INVALID_PEM_FORMAT -> 500 INTERNAL_ERROR - Repository/Service ValueError -> 400 VALIDATION_INVALID_FIELD - 그 외 예외 -> 500 INTERNAL_ERROR (미들웨어)
금지 (CRYPTO_KEY_SCHEMA §10): server_public.pem file-based fallback / crypto_keys 직접 SELECT / PEM 분해 — 본 핸들러는 auth_policy_routing 헬퍼 단일 경로만 사용.
Request
- Base URL: https://api.xdata.kr (the document declares no server; this is the origin it was published from)
- URL: https://api.xdata.kr/v1/crypto/public-key
- Auth: one of:
- HTTP basic
- OAuth 2 (authorization code, authorization URL https://api.xdata.kr/oauth/authorize, token URL https://api.xdata.kr/oauth/token)
Query parameters
환경을 고릅니다. 값은 production · real_test · sandbox 중 하나입니다. 경로 접두(/v1/sandbox/... · /v1/test/... · /v1/production/...) · X-Env-Scope 헤더 · env_scope 쿼리 가운데 한 통로로 반드시 보내야 합니다. 빼면 자동으로 채우지 않고 거절하며, 두 통로에 서로 다른 값을 담아도 거절합니다. 거절은 HTTP 422 이고 오류 코드는 VALIDATION_ENV_SCOPE_MISMATCH 입니다.
Headers
환경을 고릅니다. 값은 production · real_test · sandbox 중 하나입니다. 경로 접두(/v1/sandbox/... · /v1/test/... · /v1/production/...) · X-Env-Scope 헤더 · env_scope 쿼리 가운데 한 통로로 반드시 보내야 합니다. 빼면 자동으로 채우지 않고 거절하며, 두 통로에 서로 다른 값을 담아도 거절합니다. 거절은 HTTP 422 이고 오류 코드는 VALIDATION_ENV_SCOPE_MISMATCH 입니다.
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.