설명
chrome.webAuthenticationProxy
API를 사용하면 원격 호스트에서 실행되는 원격 데스크톱 소프트웨어가 Web Authentication API (WebAuthn) 요청을 가로채 로컬 클라이언트에서 요청을 처리할 수 있습니다.
권한
webAuthenticationProxy
가용성
유형
CreateRequest
속성
-
requestDetailsJson
문자열
navigator.credentials.create()
에 전달된PublicKeyCredentialCreationOptions
이며 JSON 문자열로 직렬화됩니다. 직렬화 형식은PublicKeyCredential.parseCreationOptionsFromJSON()
와 호환됩니다. -
requestId
숫자
요청의 불투명 식별자입니다.
CreateResponseDetails
속성
-
error
DOMExceptionDetails 선택사항
원격 요청에서 얻는
DOMException
입니다(있는 경우). -
requestId
숫자
CreateRequest
의requestId
입니다. -
responseJson
문자열 선택사항
원격 요청에 의해 생성된
PublicKeyCredential
(있는 경우)는 href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()
을 호출하여 JSON 문자열로 직렬화됩니다.
DOMExceptionDetails
속성
-
메시지
문자열
-
이름
문자열
GetRequest
속성
-
requestDetailsJson
문자열
navigator.credentials.get()
에 전달된PublicKeyCredentialRequestOptions
이며 JSON 문자열로 직렬화됩니다. 직렬화 형식은PublicKeyCredential.parseRequestOptionsFromJSON()
와 호환됩니다. -
requestId
숫자
요청의 불투명 식별자입니다.
GetResponseDetails
속성
-
error
DOMExceptionDetails 선택사항
원격 요청에서 얻는
DOMException
입니다(있는 경우). -
requestId
숫자
CreateRequest
의requestId
입니다. -
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
함수 선택사항
callback
매개변수는 다음과 같습니다.(error?: string) => void
-
error
문자열 선택사항
-
반환 값
-
Promise<string | undefined>
프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
completeCreateRequest()
chrome.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
callback?: function,
)
navigator.credentials.create()
호출의 결과를 보고합니다. 확장 프로그램은 요청이 취소 (이 경우 onRequestCanceled
이벤트가 실행됨)되지 않는 한 수신된 모든 onCreateRequest
이벤트에 대해 이 메서드를 호출해야 합니다.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
completeGetRequest()
chrome.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
callback?: function,
)
navigator.credentials.get()
호출의 결과를 보고합니다. 확장 프로그램은 요청이 취소 (이 경우 onRequestCanceled
이벤트가 실행됨)되지 않는 한 수신된 모든 onGetRequest
이벤트에 대해 이 메서드를 호출해야 합니다.
매개변수
-
세부정보
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
completeIsUvpaaRequest()
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
callback?: function,
)
PublicKeyCredential.isUserVerifyingPlatformAuthenticator()
호출의 결과를 보고합니다. 확장 프로그램은 수신된 모든 onIsUvpaaRequest
이벤트에 대해 이 메서드를 호출해야 합니다.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
반환 값
-
Promise<void>
프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
detach()
chrome.webAuthenticationProxy.detach(
callback?: function,
)
이 확장 프로그램을 활성 Web Authentication API 요청 프록시에서 삭제합니다.
이 메서드는 일반적으로 확장 프로그램이 원격 데스크톱 세션이 종료된 것을 감지할 때 호출됩니다. 이 메서드가 반환되면 확장 프로그램은 더 이상 활성 Web Authentication API 요청 프록시가 되지 않습니다.
기본 애플리케이션에서 (정지되었을 수 있는) 확장 프로그램으로 원격 세션 연결을 변경했음을 알리려면 onRemoteSessionStateChange
이벤트를 참조하세요.
매개변수
-
callback
함수 선택사항
callback
매개변수는 다음과 같습니다.(error?: string) => void
-
error
문자열 선택사항
-
반환 값
-
Promise<string | undefined>
프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
이벤트
onCreateRequest
chrome.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
WebAuthn navigator.credentials.create()
호출이 발생하면 실행됩니다. 확장 프로그램은 requestInfo
의 requestId
로 completeCreateRequest()
를 호출하여 응답을 제공해야 합니다.
매개변수
-
callback
기능
callback
매개변수는 다음과 같습니다.(requestInfo: CreateRequest) => void
-
requestInfo
-
onGetRequest
chrome.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
WebAuthn navigator.credentials.get() 호출이 발생하면 실행됩니다. 확장 프로그램은 requestInfo
의 requestId
로 completeGetRequest()
를 호출하여 응답을 제공해야 합니다.
매개변수
-
callback
기능
callback
매개변수는 다음과 같습니다.(requestInfo: GetRequest) => void
-
requestInfo
-
onIsUvpaaRequest
chrome.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
호출이 발생하면 실행됩니다. 확장 프로그램은 requestInfo
의 requestId
로 completeIsUvpaaRequest()
를 호출하여 응답을 제공해야 합니다.
매개변수
-
callback
기능
callback
매개변수는 다음과 같습니다.(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
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
숫자
-