메인 콘텐츠로 건너뛰기

사일런트 재검증

사일런트 재검증 엔진을 사용하여 유니코의 네트워크 효과 내에서 사용자의 행동 컨텍스트를 분석하고 현재 거래에 대한 신뢰 신호를 제공합니다. 다시 말해, 해당 사용자가 거래에서 예상된 사용자일 신뢰 수준을 제공합니다.

요구 사항

최소 버전: 3.3.0

PrepareInfo 속성
속성유형필수설명
externalUserIdString✅사용자 시스템 내 식별자입니다. 전송 전에 SHA-256으로 자동 해시 처리되며, 평문으로 전송되지 않습니다.
사일런트 재검증 시작하기
Step 1 — initializeSDK 구현

정적 UnicoSDK.initializeSDK 메서드를 호출하여 AcessoBioConfigDataSource와 environment를 전달하세요.

앱 실행 시 호출하세요

UnicoSDK.initializeSDK는 앱 실행 시 가능한 한 빨리 호출되어야 합니다(예: application(_:didFinishLaunchingWithOptions:)). 더 늦게 호출하면 백그라운드 처리 시간이 줄어들고 인증 응답이 결론에 이르지 못할 가능성이 높아집니다.

UnicoSDK.initializeSDK(
config: YourUnicoConfig(),
environment: .UAT
)

config는 캡처를 위해 이미 구현한 것과 동일한 AcessoBioConfigDataSource이며, sdkKey는 getHostKey()에서, 번들은 getBundleIdentifier()에서 가져옵니다:

final class YourUnicoConfig: NSObject, AcessoBioConfigDataSource {
func getBundleIdentifier() -> String { "your_bundle_id" }
func getHostKey() -> String { "your_sdk_key" }
}

environment를 생략하면 기본값은 .PROD입니다.

Step 2 — startSilentValidation 구현

initializeSDK 이후, externalUserId를 포함하는 PrepareInfo와 함께 startSilentValidation을 호출하여 이미 진행 중인 수집을 식별된 사용자와 연결하세요.

let prepareInfo = PrepareInfo(externalUserId: "external_user_id")

UnicoSDK.startSilentValidation(prepareInfo: prepareInfo) { result in
switch result {
case .success:
break
case .failure(let error):
print(error.code, error.desc, error.info)
}
}

로그인처럼 플로우 시작 시점에 검증이 이루어지는 경우, 3단계로 넘어가기 전에 성공 콜백을 기다리세요.

오류
코드의미
75001SDK가 초기화되지 않았습니다. initializeSDK가 호출되지 않았거나, 아직 완료되지 않았거나, 실패했습니다.
75000일반적인 캡처 실패입니다.
Step 3 — 프로세스 생성 및 인증

검증이 진행되는 동안, 인증을 완료하기 위한 검증 프로세스를 생성하세요. API 참조 ▸ API ▸ Create Process를 참고하세요.

요청 본문에 2단계의 PrepareInfo에서 전송한 것과 동일한 externalUserId를 포함하세요. 이를 통해 백엔드가 프로세스 생성을 이미 진행 중인 검증과 연관 지을 수 있습니다.

curl -X POST https://api.id.unico.app/processes/v1 \
-H "Authorization: Bearer $TOKEN" \
-H "APIKEY: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"subject": {
"duiType": 1,
"code": "12345678909",
"name": "Luke Skywalker",
"gender": "M",
"birthDate": "2000-05-20",
"email": "[email protected]",
"phone": "5519725570707"
},
"useCase": "Onboarding",
"externalUserId": "external_user_id"
}'

응답에는 인증 결과를 담은 silentAuth.result 필드가 포함됩니다:

{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"silentAuth": {
"result": "yes"
}
}
필드유형설명
silentAuth.resultstringyes 또는 no — 가능한 값은 아래를 참고하세요.
silentAuth.result — 가능한 값
값의미
yes인증이 승인되었으며, 충분한 신뢰도로 사용자가 인식되어 추가 캡처가 필요하지 않습니다.
no사일런트로 승인하기에 데이터가 충분하지 않습니다. 생체 인증(셀피) 또는 다른 대체 방법을 통한 인증을 권장합니다.