chrome.webAuthenticationProxy

설명

chrome.webAuthenticationProxy API를 사용하면 원격 호스트에서 실행되는 원격 데스크톱 소프트웨어가 Web Authentication API (WebAuthn) 요청을 가로채 로컬 클라이언트에서 처리할 수 있습니다.

권한

webAuthenticationProxy

가용성

Chrome 115 이상 MV3 이상

유형

CreateRequest

속성

  • requestDetailsJson

    문자열

    navigator.credentials.create()에 전달된 PublicKeyCredentialCreationOptions이 JSON 문자열로 직렬화됩니다. 직렬화 형식은 PublicKeyCredential.parseCreationOptionsFromJSON()과 호환됩니다.

  • requestId

    숫자

    요청의 불투명 식별자입니다.

CreateResponseDetails

속성

  • 오류

    DOMExceptionDetails 선택사항

    원격 요청에서 생성된 DOMException입니다(있는 경우).

  • requestId

    숫자

    CreateRequestrequestId입니다.

  • responseJson

    문자열 선택사항

    원격 요청에서 생성된 PublicKeyCredential(있는 경우)가 href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON()를 호출하여 JSON 문자열로 직렬화됩니다.

DOMExceptionDetails

속성

  • 메시지

    문자열

  • name

    문자열

GetRequest

속성

  • requestDetailsJson

    문자열

    navigator.credentials.get()에 전달된 PublicKeyCredentialRequestOptions이 JSON 문자열로 직렬화됩니다. 직렬화 형식은 PublicKeyCredential.parseRequestOptionsFromJSON()과 호환됩니다.

  • requestId

    숫자

    요청의 불투명 식별자입니다.

GetResponseDetails

속성

  • 오류

    DOMExceptionDetails 선택사항

    원격 요청에서 생성된 DOMException입니다(있는 경우).

  • requestId

    숫자

    CreateRequestrequestId입니다.

  • responseJson

    문자열 선택사항

    원격 요청에서 생성된 PublicKeyCredential(있는 경우)가 href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON()를 호출하여 JSON 문자열로 직렬화됩니다.

IsUvpaaRequest

속성

  • requestId

    숫자

    요청의 불투명 식별자입니다.

IsUvpaaResponseDetails

속성

  • isUvpaa

    부울

  • requestId

    숫자

메서드

attach()

chrome.webAuthenticationProxy.attach(): Promise<string | undefined>

이 확장 프로그램을 활성 웹 인증 API 요청 프록시로 만듭니다.

원격 데스크톱 확장 프로그램은 일반적으로 이 호스트에 원격 세션이 연결된 것을 감지한 후 이 메서드를 호출합니다. 이 메서드가 오류 없이 반환되면 WebAuthn 요청의 일반 처리가 일시중지되고 이 확장 프로그램 API의 이벤트가 발생합니다.

다른 확장 프로그램이 이미 연결되어 있으면 이 메서드는 오류와 함께 실패합니다.

정상적인 WebAuthn 요청 처리를 재개하려면 원격 데스크톱 세션이 종료된 후 첨부된 확장 프로그램이 detach()를 호출해야 합니다. 확장 프로그램이 언로드되면 자동으로 분리됩니다.

네이티브 애플리케이션에서 (일시중단되었을 수 있는) 확장 프로그램으로의 원격 세션 연결 변경을 알리려면 onRemoteSessionStateChange 이벤트를 참고하세요.

반환 값

  • Promise<string | undefined>

completeCreateRequest()

chrome.webAuthenticationProxy.completeCreateRequest(
  details: CreateResponseDetails,
)
: Promise<void>

navigator.credentials.create() 호출 결과를 보고합니다. 확장 프로그램은 요청이 취소되지 않은 한 (이 경우 onRequestCanceled 이벤트가 발생함) 수신한 모든 onCreateRequest 이벤트에 대해 이를 호출해야 합니다.

매개변수

반환 값

  • Promise<void>

completeGetRequest()

chrome.webAuthenticationProxy.completeGetRequest(
  details: GetResponseDetails,
)
: Promise<void>

navigator.credentials.get() 호출 결과를 보고합니다. 확장 프로그램은 요청이 취소되지 않은 한 (이 경우 onRequestCanceled 이벤트가 발생함) 수신한 모든 onGetRequest 이벤트에 대해 이를 호출해야 합니다.

매개변수

반환 값

  • Promise<void>

completeIsUvpaaRequest()

chrome.webAuthenticationProxy.completeIsUvpaaRequest(
  details: IsUvpaaResponseDetails,
)
: Promise<void>

PublicKeyCredential.isUserVerifyingPlatformAuthenticator() 호출 결과를 보고합니다. 확장 프로그램은 수신한 모든 onIsUvpaaRequest 이벤트에 대해 이를 호출해야 합니다.

매개변수

반환 값

  • Promise<void>

detach()

chrome.webAuthenticationProxy.detach(): Promise<string | undefined>

이 확장 프로그램을 활성 웹 인증 API 요청 프록시에서 삭제합니다.

이 메서드는 일반적으로 확장 프로그램이 원격 데스크톱 세션이 종료되었음을 감지할 때 호출됩니다. 이 메서드가 반환되면 확장 프로그램이 더 이상 활성 웹 인증 API 요청 프록시가 아닙니다.

네이티브 애플리케이션에서 (일시중단되었을 수 있는) 확장 프로그램으로의 원격 세션 연결 변경을 알리려면 onRemoteSessionStateChange 이벤트를 참고하세요.

반환 값

  • Promise<string | undefined>

이벤트

onCreateRequest

chrome.webAuthenticationProxy.onCreateRequest.addListener(
  callback: function,
)

WebAuthn navigator.credentials.create() 호출이 발생하면 실행됩니다. 확장 프로그램은 requestInforequestId을 사용하여 completeCreateRequest()를 호출하여 응답을 제공해야 합니다.

매개변수

  • callback

    함수

    callback 매개변수는 다음과 같습니다.

    (requestInfo: CreateRequest) => void

onGetRequest

chrome.webAuthenticationProxy.onGetRequest.addListener(
  callback: function,
)

WebAuthn navigator.credentials.get() 호출이 발생할 때 실행됩니다. 확장 프로그램은 requestInforequestId을 사용하여 completeGetRequest()를 호출하여 응답을 제공해야 합니다.

매개변수

  • callback

    함수

    callback 매개변수는 다음과 같습니다.

    (requestInfo: GetRequest) => void

onIsUvpaaRequest

chrome.webAuthenticationProxy.onIsUvpaaRequest.addListener(
  callback: function,
)

PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() 호출이 발생할 때 실행됩니다. 확장 프로그램은 requestInforequestId을 사용하여 completeIsUvpaaRequest()를 호출하여 응답을 제공해야 합니다.

매개변수

onRemoteSessionStateChange

chrome.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
  callback: function,
)

이 확장 프로그램과 연결된 네이티브 애플리케이션은 기본 사용자 데이터 디렉터리 내의 WebAuthenticationProxyRemoteSessionStateChange이라는 디렉터리에 확장 프로그램의 ID와 동일한 이름의 파일을 작성하여 이 이벤트가 실행되도록 할 수 있습니다.

파일의 콘텐츠는 비어 있어야 합니다. 즉, 이 이벤트를 트리거하기 위해 파일의 내용을 변경할 필요는 없습니다.

기본 호스트 애플리케이션은 이 이벤트 메커니즘을 사용하여 확장 프로그램 서비스 워커가 일시 중지된 동안 가능한 원격 세션 상태 변경 (분리에서 연결로 또는 그 반대)을 알릴 수 있습니다. 이 이벤트의 핸들러에서 확장 프로그램은 attach() 또는 detach() API 메서드를 적절하게 호출할 수 있습니다.

이벤트 리스너는 로드 시간에 동기적으로 등록해야 합니다.

매개변수

  • callback

    함수

    callback 매개변수는 다음과 같습니다.

    () => void

onRequestCanceled

chrome.webAuthenticationProxy.onRequestCanceled.addListener(
  callback: function,
)

onCreateRequest 또는 onGetRequest 이벤트가 취소될 때 발생합니다 (호출자가 WebAuthn 요청을 중단했거나 시간이 초과되었기 때문). 이 이벤트를 수신하면 확장 프로그램은 클라이언트 측에서 해당 요청의 처리를 취소해야 합니다. 확장 프로그램은 요청이 취소되면 요청을 완료할 수 없습니다.

매개변수

  • callback

    함수

    callback 매개변수는 다음과 같습니다.

    (requestId: number) => void

    • requestId

      숫자