메인 콘텐츠로 이동

나이 확인

새로운 규정이 특정 기능이나 콘텐츠에 대한 액세스를 제공하기 전에 플랫폼이 사용자의 나이를 확인하도록 요구함에 따라 나이 확인이 점점 더 중요해지고 있습니다. k-ID의 Compliance Development Kit는 현지 법적 요구사항에 적응하는 포괄적이고 관할권을 인식하는 확인 시스템을 제공하여 컴플라이언스를 간단하게 만듭니다.

이 가이드는 몇 단계만으로 나이 확인을 구현하는 과정을 안내하여, 원활한 사용자 경험을 제공하면서 빠르게 규제 요구사항을 충족할 수 있도록 합니다.

사전 요구사항

시작하기 전에 다음이 필요합니다:

  1. k-ID 제품: k-ID Compliance Studio에서 제품 생성 및 구성
  2. API 키: 제품의 개발자 설정 페이지에서 API 키 생성
  3. 웹훅 엔드포인트 (선택사항이지만 권장): 확인 결과를 받을 보안 HTTPS 엔드포인트 설정. 자세한 내용은 웹훅을 참조하세요.

1단계: 나이 확인 시작

/age-verification/perform-access-age-verification API를 호출하여 확인 요청을 생성합니다. 이는 사용자가 나이 확인을 완료하는 데 사용할 고유 URL을 반환합니다.

API 키와 함께 대화형 Swagger 문서를 사용하여 나이 확인 URL을 빠르게 생성하세요.

중요: 구현 시 API 키가 클라이언트 측 코드에 노출되지 않도록 이는 서버 간 호출이어야 합니다.

요청 예시

POST /api/v1/age-verification/perform-access-age-verification
Content-Type: application/json
Authorization: Bearer your-api-key

{
"jurisdiction": "GB",
"criteria": {
"ageCategory": "ADULT"
}
}

응답 예시

{
"id": "7854909b-9124-4bed-9282-24b44c4a3c97",
"url": "https://family.k-id.com/verify?token=eyJhbGciOiJFUzM4NCIs..."
}

jurisdiction 매개변수는 현지 규정(예: UK 요구사항에 대해 "GB" 설정) 준수를 보장하고, ageCategory: "ADULT" 기준은 사용자가 해당 관할권에서 정의된 나이 기준 요구사항을 충족하는지 확인합니다.

2단계: 확인 인터페이스 표시

반환된 URL을 사용하여 웹사이트나 앱에 iframe을 생성합니다. 사용자는 이 인터페이스를 통해 확인을 완료하며, 사용 가능한 방법이 관할권 요구사항에 따라 자동으로 적응합니다.

HTML 구현

<div id="verification-container">
<iframe
id="verification-widget"
src="VERIFICATION_URL"
width="100%"
height="600"
frameborder="0"
allow="camera;payment;publickey-credentials-get;publickey-credentials-create">
</iframe>
</div>

iframe은 사용자에게 다음과 같은 여러 확인 방법을 제공합니다:

  • AgeKey: 초기 확인 프로세스 후 생성되는 재사용 가능하고 익명의 나이 증명
  • 얼굴 나이 추정: 기기의 카메라를 사용한 프라이버시 보존 나이 추정
  • 신분증 문서 확인: 정부 발급 신분증 확인

사용 가능한 특정 방법은 관할권과 제품 구성에 따라 다릅니다. 자세한 내용은 확인 방법을 참조하세요.

3단계: 확인 결과 처리

사용자가 나이 확인을 성공적으로 완료했거나, 사용자가 최대 재시도 횟수에 도달했지만 성공하지 못한 경우, 세 가지 방법으로 확인 결과를 받을 수 있습니다:

옵션 A: 실시간 JavaScript 이벤트 (클라이언트 측)

const handleMessage = (event) => {
const message = event.data;
if (message.eventType === "Verification.Result") {
if (message.data.status === "PASS") {
// 사용자가 확인을 통과함 - 액세스 허용
console.log("Age verified:", message.data.ageCategory);
grantAccess();
} else if (message.data.status === "FAIL") {
// 사용자가 확인을 실패함 - 액세스 제한
console.log("Verification failed:", message.data.failureReason);
restrictAccess();
}
}
};

window.addEventListener("message", handleMessage);

옵션 B: 웹훅 알림 (서버 측)

Verification.Result 이벤트를 받기 위해 웹훅 엔드포인트 구성:

{
"eventType": "Verification.Result",
"data": {
"id": "7854909b-9124-4bed-9282-24b44c4a3c97",
"status": "PASS",
"ageCategory": "adult",
"method": "id-document",
"age": {
"low": 25,
"high": 25
}
}
}

옵션 C: 폴링 (대체 방법)

확인 ID를 사용하여 확인 상태를 쿼리:

GET /api/v1/age-verification/get-status?id=7854909b-9124-4bed-9282-24b44c4a3c97

Response:
{
"id": "7854909b-9124-4bed-9282-24b44c4a3c97",
"status": "PASS",
"ageCategory": "adult",
"method": "id-document"
}

다음 단계는?

기본 나이 확인을 구현했으니, 통합을 향상시키기 위해 다음 리소스를 탐색해보세요:

  • API 참조 문서: 모든 나이 확인 API의 자세한 문서
  • 확인 방법: 제품에 대한 특정 확인 방법 및 시나리오 구성
  • 웹훅 설정: 프로덕션 시스템을 위한 강력한 웹훅 처리 구현
  • 모범 사례: 보안과 안정적인 사용자 경험을 보장하기 위한 모범 사례 구현
  • 출시 전 체크리스트: 라이브 전 요구사항 검토 (최신 체크리스트는 k-ID 지원팀에 문의)

k-ID의 나이 확인 API를 사용하면 사용자에게 원활하고 프라이버시 중심의 확인 경험을 제공하면서 나이 확인 규정을 빠르게 준수할 수 있습니다.