chrome.webAuthenticationProxy

설명

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

권한

webAuthenticationProxy

지원 대상

Chrome 115 이상 MV3 이상

유형

CreateRequest

속성

  • requestDetailsJson

    string

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

  • requestId

    숫자

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

CreateResponseDetails

속성

  • error

    DOMExceptionDetails 선택사항

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

  • requestId

    숫자

    CreateRequestrequestId입니다.

  • responseJson

    문자열 선택사항

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

DOMExceptionDetails

속성

  • 메시지

    string

  • 이름

    string

GetRequest

속성

  • requestDetailsJson

    string

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

  • requestId

    숫자

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

GetResponseDetails

속성

  • error

    DOMExceptionDetails 선택사항

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

  • requestId

    숫자

    CreateRequestrequestId입니다.

  • responseJson

    문자열 선택사항

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

IsUvpaaRequest

속성

  • requestId

    숫자

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

IsUvpaaResponseDetails

속성

  • isUvpaa

    boolean

  • requestId

    숫자

방법

attach()

프로미스
chrome.webAuthenticationProxy.attach(
  callback?: function,
)

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

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

다른 확장 프로그램이 이미 연결되어 있으면 이 메서드가 실패하고 오류가 발생합니다.

일반 WebAuthn 요청 처리를 재개하려면 원격 데스크톱 세션이 종료된 후 연결된 확장 프로그램에서 detach()를 호출해야 합니다. 확장 프로그램이 로드 취소되면 자동으로 분리됩니다.

기본 애플리케이션에서 (정지되었을 수 있는) 확장 프로그램으로 원격 세션 연결을 변경했음을 알리려면 onRemoteSessionStateChange 이벤트를 참조하세요.

매개변수

  • 콜백

    함수 선택사항

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

    (error?: string)=>void

    • error

      문자열 선택사항

반환 값

  • 프로미스<string|undefined>

    프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.

completeCreateRequest()

프로미스
chrome.webAuthenticationProxy.completeCreateRequest(
  details: CreateResponseDetails,
  callback?: function,
)

navigator.credentials.create() 호출의 결과를 보고합니다. 확장 프로그램은 요청이 취소 (이 경우 onRequestCanceled 이벤트가 실행됨)되지 않는 한 수신된 모든 onCreateRequest 이벤트에 대해 이 메서드를 호출해야 합니다.

매개변수

  • 세부정보
  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.

completeGetRequest()

프로미스
chrome.webAuthenticationProxy.completeGetRequest(
  details: GetResponseDetails,
  callback?: function,
)

navigator.credentials.get() 호출의 결과를 보고합니다. 확장 프로그램은 요청이 취소 (이 경우 onRequestCanceled 이벤트가 실행됨)되지 않는 한 수신된 모든 onGetRequest 이벤트에 대해 이 메서드를 호출해야 합니다.

매개변수

  • 세부정보
  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.

completeIsUvpaaRequest()

프로미스
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
  details: IsUvpaaResponseDetails,
  callback?: function,
)

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

매개변수

  • 세부정보
  • 콜백

    함수 선택사항

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

    ()=>void

반환 값

  • Promise<void>

    프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.

detach()

프로미스
chrome.webAuthenticationProxy.detach(
  callback?: function,
)

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

이 메서드는 일반적으로 확장 프로그램이 원격 데스크톱 세션이 종료된 것을 감지할 때 호출됩니다. 이 메서드가 반환되면 확장 프로그램은 더 이상 활성 Web Authentication API 요청 프록시가 되지 않습니다.

기본 애플리케이션에서 (정지되었을 수 있는) 확장 프로그램으로 원격 세션 연결을 변경했음을 알리려면 onRemoteSessionStateChange 이벤트를 참조하세요.

매개변수

  • 콜백

    함수 선택사항

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

    (error?: string)=>void

    • error

      문자열 선택사항

반환 값

  • 프로미스<string|undefined>

    프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.

이벤트

onCreateRequest

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

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

매개변수

onGetRequest

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

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

매개변수

  • 콜백

    기능

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

    (requestInfo: GetRequest)=>void

onIsUvpaaRequest

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

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

매개변수

onRemoteSessionStateChange

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

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

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

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

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

매개변수

  • 콜백

    기능

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

    ()=>void

onRequestCanceled

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

onCreateRequest 또는 onGetRequest 이벤트가 취소되면 실행됩니다 (호출자가 WebAuthn 요청을 취소했거나 타임아웃되었기 때문에). 이 이벤트를 수신하면 확장 프로그램은 클라이언트 측에서 해당 요청의 처리를 취소해야 합니다. 취소된 확장 프로그램은 요청을 완료할 수 없습니다.

매개변수

  • 콜백

    기능

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

    (requestId: number)=>void

    • requestId

      숫자