New ID_Check v2.6.0 — Device verification now extends through ID and selfie capture: values are compared against entry to catch device swaps, plus new Sensor verification against camera-path injection. See what's new →
New ID_Check v2.6.0 — Device verification now extends through ID and selfie capture: values are compared against entry to catch device swaps, plus new Sensor verification against camera-path injection. See what's new →
FaceAuth는 ID Check 인증 과정에서 승인된 유저의 셀피 사진과 FaceAuth 과정에서 획득한 셀피 사진을 비교하여 본인 여부를 한 단계 더 검증하는 절차입니다. 제공 방식(URL / API), Face Auth URL의 QueryString 구조, 요청 파라미터 정의를 다룹니다.
함께 볼 문서
대시보드에서 FaceAuth 프로젝트를 만들고 정책(임계값·라이브니스·가림)과 토큰 만료를 설정하는 방법 → FACE AUTH 가이드
애드온 공통 사항(API 키 발급, 요청 할당량, 응답 HTTP 상태 코드) → 애드온 시작하기
FaceAuth는 다음 두 가지 방식으로 제공할 수 있습니다. 별도 카메라 UI 구현 없이 Active Liveness까지 활용할 수 있는 Face Auth URL 방식을 권장합니다.
A. Face Auth URL (권장)
ARGOS가 호스팅하는 페이지(Liveform과 유사)에서 셀피를 촬영합니다. 고객사가 카메라 UI를 직접 구현할 필요가 없으며, 프로젝트 정책에서 라이브니스(Passive/Active) 와 가림(마스크/헬멧) 차단 옵션을 활성화할 수 있습니다.
B. POST /faceauth API
고객사 앱에서 카메라 UI를 직접 구현하고 촬영한 faceImage 파일을 API로 전송합니다. Active Liveness가 지원되지 않습니다 — 단순 얼굴 유사도만 비교됩니다.
휴대폰 화면 재생·사진 캡쳐 등 스푸핑 시도가 우려된다면 URL 방식을 사용하세요. POST API 방식은 전달된 이미지 한 장만 유사도로 판정하므로 실제 촬영 여부를 검증하지 못합니다. URL 방식은 프로젝트 정책에서 라이브니스 임계값 을 설정하여 화면 재생·정지 사진 등의 스푸핑을 차단할 수 있습니다.
대시보드에서 정책(임계값·라이브니스·가림)을 설정하는 방법과 두 방식의 활용 사례는 FACE AUTH 가이드에서 확인하세요. 이 문서의 나머지 섹션은 A. Face Auth URL 방식의 파라미터와 인증 흐름을 다룹니다. B. POST API 방식은 POST/Faceauth 페이지를 참고하세요.
FaceAuth는 ID check의 하위 프로젝트로서 관리자는 원하는 만큼의 프로젝트를 생성할 수 있고, FaceAuth URL 방식으로 유저가 추가 인증을 받기 위해선 Add-on 프로젝트 내의 Face Auth URL을 사용합니다.
셀피 사진이 존재하는 ID document나 Knowledge-based에서 승인 받은 submission_Id를 참조하기 위해선 encrypted 쿼리 파라미터로 URL에 추가해야 하며, 보안을 위해 항상 암호화된 상태로 사용해야 합니다.
암호화는 FaceAuth 프로젝트 내의 API 키를 사용해야 하며, AES-256을 사용합니다.
자세한 방법은 쿼리 스트링 암호화를 확인하세요.
암호화 대상 평문은 JSON입니다 — 쿼리 스트링 형식이 아닙니다.sid=...&authUserId=... 처럼 key=value를 &로 이어붙인 문자열을 암호화하면 sid가 인식되지 않아 인증이 시작되지 않습니다. JSON 객체를 직렬화(JSON.stringify)한 문자열을 암호화해서 encrypted 값으로 사용하세요.이 경우 오류 코드 페이지가 아니라 “페이지를 찾을 수 없습니다” 화면이 표시되어 원인을 알기 어렵습니다. 증상별 확인 순서는 Face Auth URL 검증 및 에러 처리를 참고하세요.
쿼리 스트링 없이는 Face Auth가 실행되지 않습니다.pid만 붙인 URL로는 인증이 시작되지 않으며, 참조할 sid를 암호화해 encrypted에 담아 전달해야 합니다. 누락 시 PV-40015 오류 페이지로 이동합니다.
encrypted 값은 반드시 URL 인코딩해야 합니다.AES-256 암호화 결과(Base64)에는 +, /, = 문자가 포함됩니다. 인코딩 없이 URL에 붙이면 +가 공백으로 해석되어 복호화 자체가 실패하고 sid를 읽을 수 없습니다. encodeURIComponent(또는 각 언어의 URL 인코딩 함수)를 적용하세요.
보안을 위해서 관리자가 해당 url에 추가할 token 입니다. 주의사항!: 해당 token은 프라이빗 모드의 사전등록 token과는 별개로 작동됩니다.
FaceAuth token의 작동방식
Token은 사용자가 FaceAuth를 통해 인증할 때, 각 사용자에게 고유한 URL을 부여하기 위해 설계되었습니다.
Token을 적용하려면 FaceAuth 프로젝트에서 토큰 만료 조건 설정 옵션을 활성화해야 하며, 다음과 같은 방식으로 동작합니다.
횟수 기반 만료: 토큰이 한 번 사용되면 해당 Token ID가 즉시 만료 처리됩니다.
시간 기반 만료: 토큰이 한 번 사용된 시점을 기준으로 시간이 경과하면 해당 Token ID가 만료 처리됩니다.
이 토큰은 메인 프로젝트의 프라이빗 모드 토큰이나 사전 등록 토큰과는 별개로 동작합니다.
예를 들어, token에는 관리자가 설정한 임의의 tokenId를 지정할 수 있고, 메인 프로젝트에서 사용한 token을 재사용 하더라도 별개로 보기 때문에 작동됩니다.
FaceAuth 프로젝트에서 토큰 만료 조건 설정 옵션을 활성화에 대한 가이드는 FACE AUTH 가이드 — 토큰 만료 조건 설정을 참고하세요.
Face Auth 화면의 표시 언어입니다. ISO 639-1 소문자 코드를 사용합니다 (예: en, ko). 암호화 대상이 아니며 encrypted 밖에 평문으로 붙입니다 (예: ?pid={faceAuth_projectId}&encrypted={encrypted}&lang=en). 미설정 시 모바일은 기기 설정 언어, PC는 브라우저 언어를 따릅니다. 지원 언어 목록은 라이브폼 지원 언어를 참고하세요.
승인된 건 중, 셀피 사진이 존재하지 않는 경우에는 신분증의 초상화 이미지를 대신 사용합니다.
Face Auth URL 검증 및 에러 처리
QueryString 검증 실패, 사전 로드 실패, 인증 실패 시 발생하는 에러 코드와 사용자에게 실제로 노출되는 문구를 단계별로 확인하세요.