메인 콘텐츠로 건너뛰기
리다이렉트 방식은 사용자를 Didit이 호스팅하는 인증 페이지로 보낸 뒤, 콜백 URL을 통해 앱으로 되돌려 보냅니다.

리다이렉트를 사용할 때

  • 기기 간 인증: 데스크톱에서 시작하고 모바일에서 완료합니다
  • 최대 호환성: 구형 브라우저를 포함한 모든 브라우저에서 동작합니다
  • 간단한 연동: iframe 설정이 필요하지 않습니다
  • 카메라 문제: iframe에서 카메라 접근에 문제가 있을 때

구현

1단계: 세션 생성(백엔드)

세션 생성 응답은 url이라는 필드를 사용합니다. 이 값을 브라우저에 전달하세요.

2단계: 사용자 리다이렉트(프런트엔드)

HTML:
React:
Vue:

콜백 처리

인증이 완료되면 Didit은 다음과 같은 쿼리 파라미터를 붙여 콜백 URL로 리다이렉트합니다:

Next.js 예제

Express.js 예제

Vue Router 예제


새 탭에서 열기

앱을 열어 둔 채로 사용자가 인증하게 하려면 다음과 같이 합니다:
새 탭을 사용할 때는 webhook과 함께 사용하면 인증이 언제 완료되는지 알 수 있습니다.

보안 권장 사항

콜백을 서버 측에서 검증하세요

verificationSessionId 및 status 쿼리 파라미터는 신뢰할 수 없는 UI 힌트로 취급하세요. 최종 결정은 항상 백엔드에서 확인해야 합니다. webhook을 처리하는 방법(권장)이나 API로 결정을 다시 조회하는 방법 중 하나를 사용하세요:

webhook 사용

가장 안정적인 연동을 위해서는 사용자의 브라우저 동작과 관계없이 인증 결과를 백엔드로 직접 받는 webhook을 사용하세요.

기기 간 흐름

리다이렉트 방식은 기기 간 인증을 자연스럽게 지원합니다:
  1. 사용자가 데스크톱에서 “Verify”를 클릭합니다
  2. 사용자가 인증 페이지로 리다이렉트됩니다
  3. 필요한 경우 사용자는 QR 코드를 스캔해 모바일에서 계속할 수 있습니다
  4. 완료 후 사용자는 콜백 URL로 리다이렉트되며, 어느 기기에서 리다이렉트를 수행할지는 callback_method(initiator, completer, both)로 제어됩니다

문제 해결

콜백이 수신되지 않음

  1. 세션을 생성할 때 콜백 URL이 올바르게 설정되었는지 확인하세요
  2. 콜백 URL에 인터넷에서 접근할 수 있는지 확인하세요
  3. URL에 오타나 인코딩 문제가 없는지 확인하세요

상태가 항상 “Declined”로 표시됨

  1. Didit Console에서 워크플로 설정을 확인하세요
  2. 사용 중인 테스트 문서가 유효한지 확인하세요
  3. API로 세션 세부 정보를 조회해 구체적인 거부 사유를 확인하세요

리다이렉트 루프

  1. 콜백 핸들러가 다시 인증 페이지로 리다이렉트하지 않는지 확인하세요
  2. 콜백 페이지에 캐싱 문제가 있는지 확인하세요
  3. 브라우저 캐시를 지우고 다시 시도하세요

예제 저장소

GitHub 저장소

GitHub에서 소스 코드와 예제를 확인하세요
마지막 수정일 2026년 11월 7일