설명
chrome.webAuthenticationProxy
API를 사용하면 원격 호스트에서 실행되는 원격 데스크톱 소프트웨어가 Web Authentication API (WebAuthn) 요청을 가로채 로컬 클라이언트에서 요청을 처리할 수 있습니다.
권한
webAuthenticationProxy
가용성
유형
CreateRequest
속성
-
requestDetailsJson
문자열
navigator.credentials.create()
에 전달되는PublicKeyCredentialCreationOptions
(JSON 문자열로 직렬화됨) 직렬화 형식은PublicKeyCredential.parseCreationOptionsFromJSON()
와 호환됩니다. -
requestId
숫자
요청의 불투명 식별자입니다.
CreateResponseDetails
속성
-
오류
DOMExceptionDetails optional
원격 요청에 의해 반환된
DOMException
입니다(있는 경우). -
requestId
숫자
CreateRequest
의requestId
입니다. -
responseJson
문자열(선택사항)
원격 요청에 의해 생성된
PublicKeyCredential
(있는 경우): href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">을 호출하여 JSON 문자열로 직렬화됩니다.PublicKeyCredential.toJSON()
DOMExceptionDetails
속성
-
메시지
문자열
-
이름
문자열
GetRequest
속성
-
requestDetailsJson
문자열
navigator.credentials.get()
에 전달되는PublicKeyCredentialRequestOptions
(JSON 문자열로 직렬화됨) 직렬화 형식은PublicKeyCredential.parseRequestOptionsFromJSON()
와 호환됩니다. -
requestId
숫자
요청의 불투명 식별자입니다.
GetResponseDetails
속성
-
오류
DOMExceptionDetails optional
원격 요청에 의해 반환된
DOMException
입니다(있는 경우). -
requestId
숫자
CreateRequest
의requestId
입니다. -
responseJson
문자열(선택사항)
원격 요청에 의해 생성된
PublicKeyCredential
(있는 경우): href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">을 호출하여 JSON 문자열로 직렬화됩니다.PublicKeyCredential.toJSON()
IsUvpaaRequest
속성
-
requestId
숫자
요청의 불투명 식별자입니다.
IsUvpaaResponseDetails
속성
-
isUvpaa
부울
-
requestId
숫자
메서드
attach()
chrome.webAuthenticationProxy.attach(
callback?: function,
)
이 확장 프로그램을 활성 Web Authentication API 요청 프록시로 설정합니다.
원격 데스크톱 확장 프로그램은 일반적으로 이 호스트에 대한 원격 세션 연결을 감지한 후 이 메서드를 호출합니다. 이 메서드가 오류 없이 반환되면 WebAuthn 요청의 일반 처리가 정지되고 이 확장 API의 이벤트가 발생합니다.
다른 확장 프로그램이 이미 연결되어 있으면 이 메서드가 실패하고 오류가 발생합니다.
일반 WebAuthn 요청 처리를 재개하려면 연결된 확장 프로그램이 원격 데스크톱 세션이 종료된 후 detach()
를 호출해야 합니다. 확장 프로그램이 로드 취소되면 자동으로 분리됩니다.
네이티브 애플리케이션에서 (정지될 수 있는) 확장 프로그램으로 원격 세션 연결이 변경되었음을 알리는 onRemoteSessionStateChange
이벤트를 참고하세요.
매개변수
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(error?: string) => void
-
오류
문자열(선택사항)
-
반환 값
-
프로미스<문자열 | 정의되지 않음>
프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
completeCreateRequest()
chrome.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
callback?: function,
)
navigator.credentials.create()
호출의 결과를 보고합니다. 요청이 취소된 경우 (onRequestCanceled
이벤트가 실행되는 경우) 확장 프로그램은 수신한 모든 onCreateRequest
이벤트에 대해 이 메서드를 호출해야 합니다.
매개변수
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
프로미스<void>
프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
completeGetRequest()
chrome.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
callback?: function,
)
navigator.credentials.get()
호출의 결과를 보고합니다. 요청이 취소된 경우 (onRequestCanceled
이벤트가 실행되는 경우) 확장 프로그램은 수신한 모든 onGetRequest
이벤트에 대해 이 메서드를 호출해야 합니다.
매개변수
-
세부정보
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
프로미스<void>
프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
completeIsUvpaaRequest()
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
callback?: function,
)
PublicKeyCredential.isUserVerifyingPlatformAuthenticator()
호출의 결과를 보고합니다. 확장 프로그램은 수신한 모든 onIsUvpaaRequest
이벤트에 대해 이 메서드를 호출해야 합니다.
매개변수
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
프로미스<void>
프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
detach()
chrome.webAuthenticationProxy.detach(
callback?: function,
)
이 확장 프로그램을 활성 Web Authentication API 요청 프록시에서 삭제합니다.
이 메서드는 일반적으로 확장 프로그램이 원격 데스크톱 세션이 종료되었음을 감지할 때 호출됩니다. 이 메서드가 반환되면 확장 프로그램은 더 이상 활성 Web Authentication API 요청 프록시가 아닙니다.
네이티브 애플리케이션에서 (정지될 수 있는) 확장 프로그램으로 원격 세션 연결이 변경되었음을 알리는 onRemoteSessionStateChange
이벤트를 참고하세요.
매개변수
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(error?: string) => void
-
오류
문자열(선택사항)
-
반환 값
-
프로미스<문자열 | 정의되지 않음>
프로미스는 Manifest V3 이상에서 지원되지만 이전 버전과의 호환성입니다. 같은 함수 호출에서 두 가지를 모두 사용할 수는 없습니다. 이 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
이벤트
onCreateRequest
chrome.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
WebAuthn navigator.credentials.create()
호출이 발생하면 실행됩니다. 확장 프로그램은 requestInfo
의 requestId
로 completeCreateRequest()
를 호출하여 응답을 제공해야 합니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(requestInfo: CreateRequest) => void
-
requestInfo
-
onGetRequest
chrome.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
WebAuthn navigator.credentials.get() 호출이 발생하면 실행됩니다. 확장 프로그램은 requestInfo
의 requestId
로 completeGetRequest()
를 호출하여 응답을 제공해야 합니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(requestInfo: GetRequest) => void
-
requestInfo
-
onIsUvpaaRequest
chrome.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
호출이 발생하면 실행됩니다. 확장 프로그램은 requestInfo
의 requestId
로 completeIsUvpaaRequest()
를 호출하여 응답을 제공해야 합니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
onRemoteSessionStateChange
chrome.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
callback: function,
)
이 확장 프로그램과 연결된 네이티브 애플리케이션에서 기본 사용자 데이터 디렉터리 내 WebAuthenticationProxyRemoteSessionStateChange
라는 디렉터리에 있는 확장 프로그램의 ID와 이름이 동일한 파일에 데이터를 기록하면 이 이벤트가 발생할 수 있습니다.
파일 콘텐츠는 비어 있어야 합니다. 즉, 이 이벤트를 트리거하기 위해 파일의 콘텐츠를 변경할 필요는 없습니다.
네이티브 호스트 애플리케이션은 이 이벤트 메커니즘을 사용하여 가능한 원격 세션 상태 변경 (분리에서 연결됨으로 또는 그 반대로)을 알릴 수 있습니다. 이 이벤트의 핸들러에서 확장 프로그램은 적절하게 attach()
또는 detach()
API 메서드를 호출할 수 있습니다.
이벤트 리스너는 로드 시점에 동기식으로 등록해야 합니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.() => void
onRequestCanceled
chrome.webAuthenticationProxy.onRequestCanceled.addListener(
callback: function,
)
호출자가 WebAuthn 요청을 중단했거나 시간이 초과되어 onCreateRequest
또는 onGetRequest
이벤트가 취소되면 실행됩니다. 이 이벤트를 수신하면 확장 프로그램에서 클라이언트 측에서 해당 요청의 처리를 취소해야 합니다. 취소된 후에는 확장 프로그램에서 요청을 완료할 수 없습니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(requestId: number) => void
-
requestId
숫자
-