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

AWS 람다 및 API Gateway로 Didit 웹훅 리스너 구축하기 (KO)

TypeScript, AWS Lambda, API Gateway (Serverless Framework)를 사용하여 강력하고 확장 가능한 Didit 웹훅 리스너를 만드는 방법을 알아보세요. 이 가이드는 실시간 신원 확인을 위한 설정, 서명 확인 및 안전한 이벤트 처리를 다룹니다.

작성자: Didit업데이트됨
building-didit-webhook-listeners-with-aws-lambda-api-gateway.png

안전한 웹훅 통합Didit의 공유 비밀 키를 사용한 강력한 웹훅 서명 검증 구현은 Didit 플랫폼에서 들어오는 데이터의 무결성과 진위성을 보장하고 스푸핑 및 변조로부터 보호하는 데 중요합니다.

확장 가능한 서버리스 아키텍처AWS Lambda 및 API Gateway를 Serverless Framework와 함께 활용하면 Didit 웹훅 이벤트를 처리하기 위한 확장 가능하고 비용 효율적인 솔루션을 제공하며, 수동 개입 없이 다양한 로드에 자동으로 조정됩니다.

실시간 신원 확인 워크플로우Didit 웹훅을 실시간으로 처리하면 신원 확인 결과에 즉시 대응할 수 있어 동적인 사용자 온보딩, 사기 탐지 및 규정 준수 조치를 용이하게 하여 운영 효율성을 향상시킵니다.

Didit의 개발자 우선 접근 방식Didit은 명확한 API 문서, 쉬운 비밀 키 교체 및 모듈식 아키텍처를 통해 웹훅 관리를 간소화하여 개발자가 무료 Core KYC 및 설정 비용 없이 맞춤형 이벤트 기반 워크플로우를 신속하게 구축하고 배포할 수 있도록 합니다.

신원 확인에서 웹훅의 힘

신원 확인의 세계에서 실시간 피드백은 가장 중요합니다. 새로운 사용자를 온보딩하든, AML 심사를 수행하든, 연령을 확인하든, 확인 세션의 결과를 실시간으로 아는 것은 동적인 의사 결정과 원활한 사용자 경험을 가능하게 합니다. 이것이 웹훅이 빛을 발하는 지점입니다. 상태 업데이트를 위해 API를 지속적으로 폴링하는 대신, Didit은 확인 세션 완료 또는 상태 변경과 같은 중요한 이벤트가 발생할 때마다 지정된 엔드포인트로 자동 알림을 보냅니다. 이 푸시 기반 모델은 더 효율적이며, API 호출 오버헤드를 줄이고, 시스템이 항상 최신 신원 확인 결과로 업데이트되도록 보장합니다.

Didit의 강력한 신원 확인 기능을 통합하려면 종종 신뢰할 수 있는 웹훅 리스너를 설정해야 합니다. 이 리스너는 애플리케이션의 눈과 귀 역할을 하여 ID 확인, 생체 감지 또는 AML 심사 결과의 상태에 대한 중요한 업데이트를 수신합니다. 잘 구현된 웹훅 시스템은 최신 이벤트 기반 아키텍처의 초석이며, 확인 결과에 신속하게 대응하고 원활한 사용자 여정을 유지하는 데 필요한 민첩성을 제공합니다.

AWS Lambda 및 API Gateway로 서버리스 웹훅 리스너 설정하기

확장 가능하고 탄력적인 웹훅 리스너를 구축하는 것은 복잡할 수 있지만, AWS Lambda 및 API Gateway와 Serverless Framework를 함께 사용하면 놀랍도록 간단해집니다. 이 서버리스 접근 방식은 서버를 관리할 필요가 없음을 의미합니다. AWS는 모든 인프라를 처리하고 수요에 따라 리스너를 자동으로 확장합니다. Didit 웹훅 리스너의 경우, 타입 안전성 및 개발자 생산성을 위해 TypeScript를 사용할 것입니다.

전제 조건:

  • AWS 계정
  • Node.js 및 npm 설치
  • Serverless Framework 설치 (npm install -g serverless)
  • API 키 및 웹훅 시크릿이 있는 Didit 계정 ( Didit Console -> 설정 -> API 키 에서 확인)

프로젝트 설정:

먼저, 새 Serverless 프로젝트를 생성합니다:

serverless create --template aws-nodejs-typescript --path didit-webhook-listener
cd didit-webhook-listener
npm install

이제 serverless.yml을 구성하여 Lambda 함수 및 API Gateway 엔드포인트를 정의해 보겠습니다:

service: didit-webhook-listener

provider:
  name: aws
  runtime: nodejs18.x
  stage: dev
  region: us-east-1
  environment:
    DIDIT_WEBHOOK_SECRET: ${ssm:/didit/webhook/secret}

functions:
  handleDiditWebhook:
    handler: src/handler.handleDiditWebhook
    events:
      - http:
          path: webhook/didit
          method: post
          cors: true

plugins:
  - serverless-offline
  - serverless-dotenv-plugin
  - serverless-ssm-fetch

우리는 AWS SSM Parameter Store에서 DIDIT_WEBHOOK_SECRET을 가져오고 있는데, 이는 시크릿 관리를 위한 모범 사례입니다. Didit 웹훅 시크릿을 거기에 저장해야 합니다. Didit은 API 또는 Didit 콘솔을 통해 시크릿 키를 쉽게 교체할 수 있도록 하여 좋은 보안 위생을 보장합니다.

TypeScript에서 안전한 웹훅 처리 구현

모든 웹훅 리스너의 가장 중요한 측면은 보안입니다. 들어오는 요청이 Didit에서 실제로 시작되었고 변조되지 않았음을 확인해야 합니다. Didit은 이 목적을 위해 공유 비밀 키를 제공하며, 이를 사용하여 웹훅의 x-didit-signature 헤더에 포함된 HMAC 서명을 검증합니다.

src/handler.ts 생성:

import { APIGatewayProxyHandler } from 'aws-lambda';
import * as crypto from 'crypto';

const DIDIT_WEBHOOK_SECRET = process.env.DIDIT_WEBHOOK_SECRET || '';

export const handleDiditWebhook: APIGatewayProxyHandler = async (event) => {
  if (!event.body) {
    return { statusCode: 400, body: 'No body received' };
  }

  const signature = event.headers['x-didit-signature'];
  if (!signature) {
    console.warn('Webhook received without x-didit-signature header.');
    return { statusCode: 403, body: 'Missing signature' };
  }

  try {
    const expectedSignature = crypto
      .createHmac('sha256', DIDIT_WEBHOOK_SECRET)
      .update(event.body)
      .digest('hex');

    if (expectedSignature !== signature) {
      console.error('Webhook signature mismatch. Expected:', expectedSignature, 'Received:', signature);
      return { statusCode: 403, body: 'Invalid signature' };
    }

    const payload = JSON.parse(event.body);
    console.log('Successfully verified and parsed Didit webhook:', payload);

    // Implement your business logic here based on the webhook payload
    // Examples: update user status, trigger further actions, store results
    // For instance, if it's an ID Verification completion:
    // if (payload.event_type === 'session.completed' && payload.data.workflow_type === 'kyc') {
    //   console.log('KYC Session Completed for vendor_data:', payload.data.vendor_data);
    //   // Process KYC results, update user profile, etc.
    // }

    return { statusCode: 200, body: 'Webhook received and processed' };
  } catch (error) {
    console.error('Error processing webhook:', error);
    return { statusCode: 500, body: 'Internal server error' };
  }
};

이 코드에서 우리는 DIDIT_WEBHOOK_SECRET을 사용하여 원시 요청 본문의 HMAC SHA256 해시를 계산하고 Didit이 제공하는 x-didit-signature 헤더와 비교합니다. 일치하지 않으면 요청이 거부되어 무단 액세스 또는 스푸핑된 이벤트를 방지합니다. 이 강력한 검증 프로세스는 Didit의 ID 확인, 안면 매칭 또는 AML 심사 서비스에서 민감한 데이터를 다룰 때 특히 신원 확인 워크플로우의 보안 및 무결성을 유지하는 데 필수적입니다.

Didit이 웹훅을 보내도록 구성하기

Lambda 함수가 배포되고 API Gateway 엔드포인트 URL이 있으면, 마지막 단계는 Didit에게 웹훅을 보낼 위치를 알려주는 것입니다. 이는 Didit 관리 API 또는 Didit 비즈니스 콘솔을 통해 쉽게 수행할 수 있습니다.

Didit 관리 API를 통해:

PATCH /v3/webhook/ 엔드포인트를 사용하여 웹훅 구성을 프로그래밍 방식으로 업데이트할 수 있습니다. 이를 통해 webhook_url을 설정하고, webhook_version을 지정하고 (v3 권장), 심지어 secret_shared_key를 안전하게 교체할 수 있습니다.

curl -X PATCH https://verification.didit.me/v3/webhook/ \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_DIDIT_API_KEY" \
  -d '{
    "webhook_url": "YOUR_API_GATEWAY_ENDPOINT",
    "webhook_version": "v3"
  }'

YOUR_DIDIT_API_KEY를 실제 Didit API 키로 바꾸고 YOUR_API_GATEWAY_ENDPOINT를 Serverless 함수 배포 후 AWS API Gateway가 제공하는 URL로 바꿉니다.

Didit 비즈니스 콘솔을 통해:

또는 Didit 콘솔로 이동하여 설정 -> 웹훅으로 이동한 다음 API Gateway 엔드포인트 URL을 지정된 필드에 붙여넣기만 하면 됩니다. 여기에서 웹훅 비밀 키를 보고 교체할 수도 있습니다. Didit의 모듈식 설계는 이러한 중요한 통합을 간단하게 구성할 수 있도록 보장하여 핵심 애플리케이션 구축에 집중할 수 있도록 합니다.

Didit이 도움이 되는 방법

Didit은 고급 신원 확인을 간단하고 안전하게 통합할 수 있는 AI 기반, 개발자 우선 신원 확인 플랫폼을 제공합니다. 당사의 모듈식 아키텍처를 통해 ID 확인(OCR, MRZ, 바코드) 및 수동 및 능동 생체 감지부터 1:1 안면 매칭, AML 심사 및 모니터링, 연령 추정까지 필요한 정확한 구성 요소를 선택할 수 있습니다. 무료 Core KYC 및 설정 비용 없이 Didit은 모든 규모의 기업이 엄청난 비용 없이 강력한 신원 확인 솔루션을 구현할 수 있도록 지원합니다.

당사의 포괄적인 API 문서 및 즉각적인 샌드박스 환경은 개발자가 빠르게 시작할 수 있도록 보장하며, 시연된 웹훅 시스템은 신뢰성과 보안을 위해 설계되었습니다. Didit을 통해 글로벌 확인 네트워크, 오케스트레이션된 워크플로우 및 구조화된 신원 데이터에 액세스할 수 있으며, 이 모든 것이 깔끔한 API를 통해 제공됩니다. 이는 Didit의 강력한 백엔드와 원활하게 통합되는 맞춤형 웹훅 리스너를 자신 있게 구축하여 모든 신원 확인 요구 사항에 대한 실시간 업데이트를 보장할 수 있음을 의미합니다.

시작할 준비가 되셨나요?

Didit의 작동 방식을 볼 준비가 되셨나요? 오늘 무료 데모를 받아보세요.

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

신원 및 사기 방지 인프라.

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

AI에게 이 페이지 요약 요청
AWS 람다 & API Gateway로 Didit 웹훅 리스너 구축 가이드.