메인 콘텐츠로 이동

시작하기

사전 요구사항

CDK를 통합하기 전에 다음이 필요합니다:

  1. k-ID Compliance Studio 계정 - 온보딩의 일부로 https://portal.k-id.com에서 로그인할 계정이 제공되어야 합니다.
  2. 구성된 제품 - Compliance Studio에서 제품을 생성하고 구성합니다. 자세한 내용은 Compliance Studio 제품 가이드를 확인하세요.
  3. API 키 - 적절한 환경(테스트/라이브)에 대한 제품의 API 키 획득

기본 통합 단계

  1. 제품 구성

    • 개발자 포털에서 권한, 데이터 공지, 브랜딩 설정
    • 확인 방법 및 신뢰할 수 있는 성인 환경설정 구성
    • 개발을 위해 테스트 환경에 구성 푸시
  2. 위젯 URL 생성

    • 특정 플로우에 대한 위젯 URL을 생성하기 위한 API 호출
    • 애플리케이션 내 iframe에 반환된 URL 임베드
  3. JavaScript 이벤트 또는 웹훅 이벤트 처리

    • 임베드된 위젯에서 프론트엔드 이벤트 수신
    • 결과 처리 및 애플리케이션 상태 업데이트
    • 대안으로, 이벤트는 웹훅 호출을 통해도 받을 수 있습니다. 자세한 내용은 웹훅을 참조하세요.

빠른 시작 예시 - 액세스 나이 확인

1단계: 위젯 URL 생성 (백엔드)

# Python/Flask 예시 - 백엔드에서만 호출
import requests
import os

@app.route('/api/generate-age-verification')
def generate_age_verification():
api_key = os.environ.get('KID_API_KEY') # 환경/시크릿 관리자에 안전하게 저장

response = requests.post( # 제품 테스트 모드의 경우, 테스트 API 키로 테스트 엔드포인트를 호출하고 있는지 확인
'https://game-api.k-id.com/age-verification/perform-access-age-verification',
headers={
'Authorization': f'Bearer {api_key}',
'Content-Type': 'application/json'
},
json={
'jurisdiction': 'GB',
'criteria': {
'ageCategory': 'ADULT'
}
}
)

return response.json()

2단계: 위젯 임베드 (프론트엔드)

<!-- HTML - 필요한 권한으로 위젯 임베드 -->
<div id="verification-container">
<iframe
id="verification-widget"
src="VERIFICATION_URL_FROM_BACKEND"
width="100%"
height="600"
frameborder="0"
allow="camera;autoplay;payment;publickey-credentials-get;publickey-credentials-create">
</iframe>
</div>

3단계: 이벤트 수신 (프론트엔드)

// JavaScript - 확인 이벤트 처리
window.addEventListener('message', (event) => {
// 보안을 위해 출처 검증
if (event.origin !== 'https://family.k-id.com') {
return;
}

console.log('Verification event:', event.data);

// 확인 결과 처리
if (event.data.eventType === 'Verification.Result') {
const result = event.data.data;

if (result.status === 'PASS') {
// 나이 확인 성공
console.log('Age verified:', result.ageCategory);
console.log('Method used:', result.method);
// 나이 제한 콘텐츠에 대한 액세스 허용
} else if (result.status === 'FAIL') {
console.log('Verification failed:', result.failureReason);
// 확인 실패 처리
}
}
});