인증 코드 입력

POST /fapi/v1/verifications/{verification_id}:attempt · 환경의 로그인 호스트에서 호출

인증 코드 전송 후 사용자가 받은 6자리 코드를 확인합니다. 코드가 맞으면 이메일 주소가 인증된 것으로 표시되고 코드는 사용 완료되며, 응답은 204입니다. 코드가 틀리면 해당 코드의 시도 횟수 중 하나가 사용됩니다. 잘못된, 만료된, 이미 사용된 또는 시도 횟수를 모두 소진한 코드, 알 수 없는 ID, 다른 사용자의 ID는 모두 동일하게 422 verification_invalid를 반환합니다. 이 경우 사용자는 새 코드를 요청해야 합니다. 인증된 사용자의 __Host-idp_session 쿠키가 필요하며, 쿠키가 없거나 만료되었거나 취소된 경우 401 unauthenticated를 반환합니다. 다른 오리진의 자사 앱은 대신 프런트 API 액세스 토큰(DPoP 증명과 함께 Authorization: DPoP <token>)을 보낼 수 있습니다(프런트 API 액세스 토큰 참조).

요청

경로 매개변수:

매개변수 설명
verification_id 전송 응답의 id.

헤더:

헤더 필수 설명
Idp-Client 예 SDK 식별자.
Origin 예 정확히 https://<로그인 호스트>여야 합니다.
Content-Type 예 application/json.

본문:

필드 타입 필수 설명
code string 예 이메일로 받은 6자리 코드.

응답

204 No Content; 이메일 주소가 인증되었습니다.

오류

상태 코드 발생 시점
400 malformed_request 본문이 올바른 JSON이 아닙니다.
400 unknown_field 본문에 code 이외의 필드가 있습니다.
401 unauthenticated 유효한 세션 쿠키가 없습니다.
403 origin_not_allowed Origin이 없거나 잘못되었습니다.
403 test_feature_not_in_production 코드가 고정 테스트 코드 424242이고 환경이 운영 환경입니다. 시도는 잘못된 코드와 같이 소진됩니다.
413 payload_too_large 본문이 너무 큽니다.
415 unsupported_media_type Content-Type이 application/json이 아닙니다.
422 validation_failed code가 없습니다.
422 verification_invalid 코드가 잘못되었거나, 만료되었거나, 사용되었거나, 시도 횟수를 모두 소진했거나, ID를 알 수 없습니다.

예시

curl -X POST https://example.keenauth.app/fapi/v1/verifications/0190a5c4-1b2c-7d3e-8f40-5162738400ff:attempt \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{"code": "123456"}'