본문으로 건너뛰기
Didit, 신원·사기 방지 인프라 구축 위해 750만 달러 투자 유치
Didit
블로그로 돌아가기
블로그 · 2026년 3월 7일

동적 신원 확인을 위한 Express.js 미들웨어 구축 (KO)

Didit의 강력한 API를 활용하여 동적 신원 확인 결정을 구현하는 Express.js 미들웨어를 구축하는 방법을 알아보세요. 이 접근 방식은 유연하고 실시간적인 위험 평가 및 맞춤형 사용자 경험을 제공하여 서비스 품질을 향상시킵니다.

작성자: Didit업데이트됨
expressjs-middleware-for-dynamic-identity-verification.png

Express.js를 이용한 동적 확인Express.js 미들웨어를 구현하여 실시간 신원 확인 결정을 조율하고, Didit의 API를 사용하여 사용자 맥락 또는 거래 위험에 따라 워크플로우를 조정합니다.

Didit의 모듈식 아키텍처 활용Didit의 개방적이고 모듈식 신원 플랫폼을 통해 개발자는 신분증 확인, 생체 인식, AML 심사와 같은 특정 확인 절차를 미들웨어에 쉽게 통합할 수 있습니다.

AI 기반 솔루션으로 신뢰 자동화Didit의 AI 기반 기능을 활용하여 지능적인 의사 결정을 내리고, 수동 검토를 줄이며, 규정 준수 프로세스를 간소화하여 보다 효율적이고 안전한 시스템을 구축합니다.

원활한 통합 및 무료 핵심 KYCDidit은 깔끔한 API, 즉시 사용 가능한 샌드박스, 그리고 무료 핵심 KYC를 통해 개발자 중심의 접근 방식을 제공하여 Express.js 애플리케이션 내에서 정교한 확인 로직을 쉽게 구축하고 배포할 수 있도록 합니다.

동적 신원 확인의 필요성

오늘날의 디지털 환경에서는 정적인 신원 확인 프로세스만으로는 더 이상 충분하지 않습니다. 기업은 사용자 위치, 거래 가치, 위험 프로필 또는 액세스하는 특정 서비스와 같은 다양한 요소에 따라 KYC(고객 알기 제도) 및 AML(자금 세탁 방지) 요구 사항을 유연하게 조정해야 합니다. 예를 들어, 낮은 가치의 거래에는 기본적인 이메일 확인만 필요할 수 있지만, 높은 가치의 금융 거래에는 전체 신분증 스캔, 생체 인식 확인 및 AML 심사가 필요할 수 있습니다. Express.js 미들웨어를 구축하면 이러한 동적 의사 결정 기능을 애플리케이션의 요청-응답 주기 내에 직접 포함시키는 우아하고 효율적인 방법을 제공합니다.

이러한 동적 접근 방식은 마찰을 줄인 사용자 경험을 가능하게 합니다. 모든 사용자에게 가장 엄격한 확인 프로세스를 적용하는 대신, 필요할 때만 더 많은 정보를 요청하여 여정을 맞춤 설정할 수 있습니다. 이는 전환율을 향상시킬 뿐만 아니라 가장 필요한 곳에 리소스를 집중함으로써 보안을 강화합니다. 이를 구현하려면 강력한 신원 확인 플랫폼이 필요하며, 모듈식 및 API 우선 디자인을 갖춘 Didit은 이러한 통합에 완벽하게 적합합니다.

Express.js 확인 미들웨어 설계

Express.js 미들웨어 함수는 요청 및 응답 객체와 애플리케이션의 요청-응답 주기에서 다음 미들웨어 함수에 액세스할 수 있습니다. 이는 요청을 가로채고, 신원 확인을 수행하며, 결과에 따라 흐름을 수정하는 데 이상적인 장소입니다. 다음은 이러한 미들웨어가 작동하는 방식에 대한 개념적 개요입니다.

  1. 요청 가로채기: 미들웨어는 보호된 경로(예: 고가치 거래 시작을 위한 경로)에 대한 들어오는 요청을 가로챕니다.
  2. 컨텍스트 추출: 사용자 ID, IP 주소, 요청된 작업 또는 거래 금액과 같은 관련 정보를 요청에서 추출합니다.
  3. 위험/정책 평가: 이 컨텍스트를 기반으로 미들웨어는 필요한 확인 수준을 결정합니다. 여기에는 내부 사용자 프로필, 실시간 위험 점수 또는 사전 정의된 비즈니스 규칙 확인이 포함될 수 있습니다.
  4. Didit 세션 시작: 확인이 필요한 경우 미들웨어는 Didit에 API 호출을 하여 새 확인 세션을 생성합니다. Didit의 didit_create_session 도구는 원하는 확인 단계(예: 신분증 확인, 수동 및 능동 생체 인식, AML 심사)에 해당하는 workflow_id를 지정할 수 있어 이에 완벽합니다.
  5. 리디렉션 또는 포함: Didit은 고유한 확인 URL을 반환합니다. 미들웨어는 이 URL로 사용자를 리디렉션하거나, 보다 통합된 경험을 위해 Didit 확인 흐름을 사이트의 iframe 내에 포함할 수 있습니다.
  6. 웹훅 콜백 처리: Didit 플랫폼은 사용자가 확인을 진행하고 최종 결정이 내려질 때 웹훅을 통해 실시간 업데이트를 보냅니다. 백엔드는 이러한 웹훅을 수신 및 처리하고 데이터베이스에서 사용자의 확인 상태를 업데이트하기 위한 별도의 엔드포인트가 필요합니다.
  7. 액세스 허용 또는 거부: 웹훅이 성공적인 확인을 확인하면 사용자에게 보호된 리소스에 대한 액세스 권한이 부여될 수 있습니다. 확인에 실패하면 액세스가 거부됩니다.

이러한 동적 조정은 모든 결정을 애플리케이션 로직에 하드코딩하지 않고도 복잡한 확인 여정을 정의할 수 있도록 합니다. Didit의 모듈식 아키텍처는 애플리케이션 코드를 변경하지 않고도 비즈니스 콘솔에서 워크플로우에 새로운 확인 단계(예: 주소 증명 또는 연령 추정)를 쉽게 교체하거나 추가할 수 있음을 의미합니다.

Didit API를 사용한 실제 구현

Didit 확인 세션을 시작하는 Express.js 미들웨어의 간단한 예를 살펴보겠습니다. 먼저 Didit에서 API 키를 가지고 있는지 확인하십시오. 이 키를 사용하여 요청을 인증합니다.


const express = require('express');
const axios = require('axios');
const app = express();

// 실제 Didit API 키 및 워크플로우 ID로 대체
const DIDIT_API_KEY = 'YOUR_DIDIT_API_KEY';
const HIGH_RISK_WORKFLOW_ID = 'YOUR_HIGH_RISK_WORKFLOW_ID'; // 예: 신분증 + 생체 인식 + AML
const LOW_RISK_WORKFLOW_ID = 'YOUR_LOW_RISK_WORKFLOW_ID';   // 예: 이메일 + 전화

// 사용자 데이터를 기반으로 위험을 결정하는 모의 함수
const assessRisk = (userId, transactionAmount) => {
    // 실제 애플리케이션에서는 더 정교한 로직이 포함될 것입니다.
    if (transactionAmount > 1000 || userId === 'high_risk_user_id') {
        return 'HIGH';
    }
    return 'LOW';
};

const dynamicVerificationMiddleware = async (req, res, next) => {
    const userId = req.user.id; // 세션/인증에서 사용자 ID를 사용할 수 있다고 가정
    const transactionAmount = req.body.amount; // 요청 본문에 금액이 있다고 가정

    const riskLevel = assessRisk(userId, transactionAmount);
    let workflowIdToUse;

    if (riskLevel === 'HIGH') {
        console.log(`User ${userId} identified as HIGH risk. Initiating high-risk verification.`);
        workflowIdToUse = HIGH_RISK_WORKFLOW_ID;
    } else {
        console.log(`User ${userId} identified as LOW risk. Initiating low-risk verification.`);
        workflowIdToUse = LOW_RISK_WORKFLOW_ID;
    }

    try {
        const response = await axios.post(
            'https://verification.didit.me/v3/session/',
            {
                workflow_id: workflowIdToUse,
                vendor_data: userId, // 세션을 내부 사용자 ID에 연결
                callback: 'https://your-app.com/didit/webhook-handler' // 웹훅 엔드포인트
            },
            {
                headers: {
                    'x-api-key': DIDIT_API_KEY,
                    'Content-Type': 'application/json'
                }
            }
        );

        const verificationUrl = response.data.url;
        console.log(`Verification URL for user ${userId}: ${verificationUrl}`);

        // Didit의 호스팅된 확인 페이지로 사용자 리디렉션
        return res.redirect(verificationUrl);

        // 또는 프런트엔드 통합을 위해 클라이언트로 URL 전송 (예: iframe)
        // return res.status(402).json({ message: 'Verification required', verificationUrl });

    } catch (error) {
        console.error('Error creating Didit session:', error.response ? error.response.data : error.message);
        return res.status(500).send('Verification service unavailable.');
    }
};

// 보호된 경로 예시
app.post('/api/perform-transaction', dynamicVerificationMiddleware, (req, res) => {
    // 이 코드는 dynamicVerificationMiddleware가 허용하는 경우에만 실행됩니다 (예: 웹훅이 확인을 확인한 후).
    res.send('Transaction successful!');
});

app.listen(3000, () => console.log('Server running on port 3000'));

이 예시는 위험 평가를 기반으로 Didit 워크플로우를 동적으로 선택하고 세션을 시작하는 방법을 보여줍니다. 트랜잭션을 진행할 실제 결정은 Didit의 웹훅이 확인 결과를 확인한 후에 이루어져야 한다는 점을 기억하십시오.

Didit이 도움이 되는 방법

Didit은 개발자가 동적 신원 확인 솔루션을 구축할 수 있도록 지원하는 데 독점적인 위치에 있습니다. 당사의 AI 기반 개발자 우선 플랫폼은 필요한 구성 요소를 제공합니다.

  • 모듈식 신원: Didit의 개방적이고 모듈식 아키텍처를 통해 신분증 확인(OCR, MRZ, 바코드), 수동 및 능동 생체 인식, 1:1 얼굴 매칭, AML 심사 및 모니터링, 주소 증명, 연령 추정과 같은 특정 확인으로 확인 워크플로우를 구성할 수 있습니다. 이러한 것들을 노코드 비즈니스 콘솔에서 사용자 지정 워크플로우로 결합할 수 있으며, 각 워크플로우는 미들웨어가 동적으로 호출할 수 있는 고유한 workflow_id를 가집니다.
  • 조정된 워크플로우: 조건부 로직과 여러 단계로 복잡한 확인 여정을 정의할 수 있으며, 이 모든 것은 Didit이 관리하여 애플리케이션의 부담을 줄입니다.
  • 개발자 우선 경험: 깔끔한 API, 즉시 사용 가능한 샌드박스 및 포괄적인 문서를 통해 Didit을 Express.js 애플리케이션에 통합하는 것은 간단합니다. 위에서 설명한 것처럼 간단한 API 호출을 통해 확인 링크를 생성할 수 있습니다.
  • 수동 검토 대신 자동화: Didit의 AI 기반 기능은 높은 비율의 확인에 대한 의사 결정을 자동화하여 수동 검토의 필요성을 크게 줄이고 온보딩 프로세스를 가속화합니다.
  • 무료 핵심 KYC: 선불 비용 없이 필수 신원 확인 기능을 시작하여 동적 확인 전략을 효과적으로 테스트하고 확장할 수 있습니다.

앱의 연령을 확인해야 하거나, 금융 서비스의 규정 준수를 보장해야 하거나, 고급 생체 인식으로 사기를 방지해야 하는 경우든, Didit의 포괄적인 제품군과 유연한 통합 옵션은 Express.js 애플리케이션에 동적이고 강력한 신원 확인을 구축하기 위한 이상적인 파트너입니다.

시작할 준비가 되셨습니까?

Didit의 작동 방식을 보고 싶으십니까? 지금 무료 데모를 받아보세요.

Didit의 무료 티어로 무료로 신원 확인을 시작하세요.

신원 및 사기 방지 인프라.

KYC, KYB, 거래 모니터링, 지갑 심사를 위한 단일 API. 5분 만에 통합하세요.

AI에게 이 페이지 요약 요청
Express.js 동적 신원 확인 미들웨어 구현 가이드.