리다이렉트를 사용할 때
- 기기 간 인증: 데스크톱에서 시작하고 모바일에서 완료합니다
- 최대 호환성: 구형 브라우저를 포함한 모든 브라우저에서 동작합니다
- 간단한 연동: iframe 설정이 필요하지 않습니다
- 카메라 문제: iframe에서 카메라 접근에 문제가 있을 때
구현
1단계: 세션 생성(백엔드)
세션 생성 응답은url이라는 필드를 사용합니다. 이 값을 브라우저에 전달하세요.
2단계: 사용자 리다이렉트(프런트엔드)
HTML:콜백 처리
인증이 완료되면 Didit은 다음과 같은 쿼리 파라미터를 붙여 콜백 URL로 리다이렉트합니다:Next.js 예제
Express.js 예제
Vue Router 예제
새 탭에서 열기
앱을 열어 둔 채로 사용자가 인증하게 하려면 다음과 같이 합니다:보안 권장 사항
콜백을 서버 측에서 검증하세요
verificationSessionId 및 status 쿼리 파라미터는 신뢰할 수 없는 UI 힌트로 취급하세요. 최종 결정은 항상 백엔드에서 확인해야 합니다. webhook을 처리하는 방법(권장)이나 API로 결정을 다시 조회하는 방법 중 하나를 사용하세요:
webhook 사용
가장 안정적인 연동을 위해서는 사용자의 브라우저 동작과 관계없이 인증 결과를 백엔드로 직접 받는 webhook을 사용하세요.기기 간 흐름
리다이렉트 방식은 기기 간 인증을 자연스럽게 지원합니다:- 사용자가 데스크톱에서 “Verify”를 클릭합니다
- 사용자가 인증 페이지로 리다이렉트됩니다
- 필요한 경우 사용자는 QR 코드를 스캔해 모바일에서 계속할 수 있습니다
- 완료 후 사용자는 콜백 URL로 리다이렉트되며, 어느 기기에서 리다이렉트를 수행할지는
callback_method(initiator,completer,both)로 제어됩니다
문제 해결
콜백이 수신되지 않음
- 세션을 생성할 때 콜백 URL이 올바르게 설정되었는지 확인하세요
- 콜백 URL에 인터넷에서 접근할 수 있는지 확인하세요
- URL에 오타나 인코딩 문제가 없는지 확인하세요
상태가 항상 “Declined”로 표시됨
- Didit Console에서 워크플로 설정을 확인하세요
- 사용 중인 테스트 문서가 유효한지 확인하세요
- API로 세션 세부 정보를 조회해 구체적인 거부 사유를 확인하세요
리다이렉트 루프
- 콜백 핸들러가 다시 인증 페이지로 리다이렉트하지 않는지 확인하세요
- 콜백 페이지에 캐싱 문제가 있는지 확인하세요
- 브라우저 캐시를 지우고 다시 시도하세요
예제 저장소
GitHub 저장소
GitHub에서 소스 코드와 예제를 확인하세요