피드로 돌아가기
Ingest Webhooks From Any Provider — GitHub as the Example
Dev.toDev.to
Backend

Per-Trigger Signature 검증 기반의 범용 Webhook 수집 아키텍처

Ingest Webhooks From Any Provider — GitHub as the Example

Mary Olowu2026년 5월 10일5intermediate

Context

제공자마다 상이한 Signature 포맷과 헤더 구조로 인한 통합 수집의 어려움 존재. 글로벌 설정 방식으로는 다양한 Provider의 개별 검증 규칙을 수용하기 어려운 구조적 한계 발생.

Technical Solution

  • Trigger 단위의 개별 Signature 설정 도입을 통한 Provider별 독립적 검증 규칙 적용
  • Regex 기반의 Signature Extraction 방식을 통한 sha256= 등 다양한 접두사 제거 및 순수 Digest 추출
  • Schemaless Collection 채택으로 Push, Issue 등 서로 다른 Event Payload 구조를 유연하게 수용
  • 핵심 필드(eventType, sender, repo)의 Top-level Flattening을 통한 쿼리 성능 및 필터링 효율 최적화
  • Delivery ID 추적 및 중복 제거 메커니즘을 통한 Replay Attack 방어 및 Idempotency 확보
  • HMAC-SHA256 알고리즘 기반의 Payload 무결성 검증 프로세스 구축

1. Provider별 Signature 헤더의 정규 표현식 추출 패턴 정의

2. Payload의 공통 필드 추출을 통한 인덱싱 최적화 및 Raw 데이터 보존 전략 수립

3. Replay Attack 방지를 위한 Delivery ID 기반의 중복 처리 로직 구현 검토

4. 스키마리스 저장소 도입 후 Schema Discovery를 통한 필터링 컬럼 확정

원문 읽기