initiate+wait for result(시작+결과 대기) 패턴에 대한 결과 대기 API 계약

result 자원은 사용되는 요소가 "initiate+wait for result" 통합 패턴을 지원하는 경우 런타임 MFA 인증 확인 중에 내부 Verify 구성요소에서 호출됩니다.

예를 들면, push입니다. Verify는 사용자가 별도로 수행하는 MFA 인증 확인의 성공, 실패 또는 보류 상태를 표시하는 status가 응답에 포함될 것으로 예상합니다. 다음 코드 예시는 Verify 에서 실시간 웹훅의 result 리소스로 전송하는 샘플 요청입니다. 웹훅 구성에 따라 이 동일한 페이로드를 대상 MFA 제공자에 직접 전송하거나 대상 제공자가 승인 가능한 API 클라이언트 요청으로 변환할 수 있습니다.
POST '/result' \
'Content-Type: application/json' \
'Accept: application/json' \

{
  "capability":  "<<factor capability name, e.g. totp>>",
  "id": "<<factor or device identifier from external provider>>",
  "transactionId": "<<provider transaction identifier>>"
  "attributes":
  {
    "username": "<<external MFA username>>"
  }
}
참고 : 이 예에서 HTTP ( /result )는 웹훅 구성에 따라 달라집니다.

결과 요청 세부사항

요소 설명
HTTP 요청 POST
HTTP 헤더 - Content-Type 요청 페이로드의 컨텐츠 유형은 항상 application/json입니다.
HTTP 헤더 - Accept 응답 페이로드에 대해 예상되는 컨텐츠 유형은 항상 application/json입니다.
페이로드 유효성을 검증할 토큰 또는 전달 값을 나타내는 JSON 오브젝트입니다. 또한 페이로드는 사용자 및 사용자와 연관된 MFA 등록을 식별합니다.
id

필수. 사용자의 등록된 MFA 요소 기능의 고유 ID입니다.

capability

필수. MFA 요소 기능 유형을 식별합니다. 값은 유효한 문자열입니다. 웹훅과 연관된 MFA 제공자에 대해 구성된 기능 중 하나와 일치해야 합니다.

transactionId

선택사항. 트랜잭션 또는 기타 MFA 제공자 인증 확인 상태 핸들입니다. 이 값은 유효성 검증이 "initiate+validate" 패턴 플로우의 일부로 수행되는 경우에 존재합니다. 해당 값은 이전 "initiate" 응답에 포함된 값과 동일합니다.

attributes

필수. 유효성 검증 요청 특정 추가 속성입니다.

attributes.username

필수. 유효성 검증이 요청된 외부 제공자 시스템의 사용자 이름입니다.

attributes.passvalue

필수. 유효성을 검증할 토큰 또는 값입니다.

다음 코드 예제는 샘플 result 응답 페이로드입니다.
{
    "attributes": {
        "<<any name>>": "<<any value>>"
    },
    "status": "PENDING"
}

결과 응답 세부사항

요소 설명
페이로드 유형 유효성 검증 시도 상태를 나타내는 JSON 오브젝트입니다.
HTTP 상태 코드 상태를 HTTP 참조하십시오.
status 필수. MFA 결과 실행 또는 완료 상태입니다. 유효한 값은 SUCCESS, PENDING, TIMEOUT, CANCELEDFAILED입니다.
attributes 선택사항. MFA 인증 확인을 트리거한 공용 Verify 클라이언트에 리턴되는 추가 속성입니다. 추가 속성 및 값이 있을 수 있습니다.