메인 콘텐츠로 건너뛰기

라이브니스 (생체 인식 셀피)

내장된 라이브니스 검증을 포함한 생체 인식 셀피 캡처. SDK는 SmartFrames를 통해 생체 인식적으로 유효한 프레임이 획득될 때까지 사용자를 안내하고, 이미지를 Base64 + JWT로 반환합니다.

기능

이 캡처 유형은 라이브니스 기능을 사용합니다. 라이브니스 작동 방식에 대한 개념적 개요는 라이브니스 기능 페이지를 참조하세요.

작동 방식

SDK는 전체 캡처 세션을 관리합니다:

  1. SmartFrame 오버레이와 함께 카메라를 엽니다.
  2. 사용자가 프레임 내에 얼굴을 위치시키도록 안내합니다.
  3. 라이브니스를 검증합니다 — 사용자가 실제로 존재할 때만 세션이 완료됩니다.
  4. success 콜백을 통해 base64(미리 보기) 및 encrypted(API용 JWT)가 포함된 객체를 반환합니다.
카메라 모드 (스마트 vs 일반)

Web은 SelfieCameraTypes를 통해 두 가지 카메라 모드를 제공합니다:

  • SelfieCameraTypes.NORMAL — 표준 카메라 모드 (수동 캡처).
  • SelfieCameraTypes.SMART — 자동 캡처 및 실루엣 안내가 포함된 스마트 카메라 모드.

SMART를 사용할 때는 초기화 중에 setModelsPath를 통해 컴퓨터 비전 모델도 로드해야 합니다.

라이브니스 캡처 시작
1단계callback 객체 구현

Web SDK는 성공 및 오류 이벤트를 처리하기 위해 open()에 전달되는 callback 객체를 사용합니다. 두 핸들러 모두 필수입니다:

핸들러호출 시점
on.success(obj)캡처가 성공적으로 완료됨 — base64encrypted가 포함된 객체를 받습니다
on.error(error)세션 중 오류가 발생함 — ErrorBio를 받습니다
const callback = {
on: {
success: (obj) => {
console.log(obj.base64);
console.log(obj.encrypted);
},
error: (error) => {
console.error(error);
}
}
};
필수 콜백

callback 객체는 필수입니다. 올바르게 구현되지 않은 경우 (successerror 이벤트를 모두 포함하여), SDK는 예외를 발생시키며, 이 예외가 처리되지 않으면 사용자의 콘솔에 표시됩니다.

2단계 — 카메라 빌드 및 셀피 세션 준비

카메라 인스턴스를 빌드하고 UnicoConfig와 원하는 SelfieCameraTypes를 전달하여 prepareSelfieCamera를 호출하세요:

토큰 만료

encrypted를 생성하고 API에 제출하는 사이의 간격은 10분을 초과해서는 안 됩니다.

const unicoCamera = unicoCameraBuilder.build();

const config = new UnicoConfig()
.setHostname("<YOUR_HOSTNAME>")
.setHostKey("<YOUR_HOST_KEY>");

unicoCamera.prepareSelfieCamera(
config,
SelfieCameraTypes.SMART
).then(cameraOpener => {
cameraOpener.open(callback);
}).catch(error => {
console.error(error);
});

카메라 시작을 최적화하기 위해 prepareSelfieCamera()open() 호출을 분리할 수 있습니다 — 사용자가 캡처 화면으로 이동하는 동안 준비 단계를 웜 상태로 유지하세요.

3단계 — (선택 사항) iFrame 내에서 사용

Web SDK는 prepareSelfieCameraForIFrame()을 통해 iFrame 내에 임베드된 Interactive Liveness를 지원합니다:

unicoCamera.prepareSelfieCameraForIFrame(
config,
SelfieCameraTypes.SMART
).then(cameraOpener => {
cameraOpener.open(callback);
}).catch(error => {
console.error(error);
});

필요한 권한과 함께 <iframe> 요소를 구현하세요:

<iframe allow="fullscreen;camera;geolocation" allowFullScreen src="your_app_url"></iframe>
메서드는 컨텍스트와 일치해야 함

prepareSelfieCameraForIFrame()은 iFrame 내에서만 작동합니다 — 외부에서 사용하면 오류 73724가 발생합니다. 마찬가지로, iFrame 내에서 prepareSelfieCamera()를 사용해도 오류 73724가 발생합니다.

iPhone에서의 전체 화면

캡처를 수행하려면 SDK가 자동으로 크기를 조정할 수 있도록 페이지가 전체 화면 모드여야 합니다. Apple은 iPhone(iPad는 허용됨)에서 전체 화면 API 사용을 제한합니다. iPhone에서의 캡처를 위해서는 iFrame의 위치를 수동으로 구성하세요.

전체 결과 처리에 대해서는 결과 수신을 참조하세요.