SecurityManager
Defined in: packages/webhook/src/security/security.manager.ts:18
Webhook 보안 관리자 서명 생성 및 검증을 담당
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new SecurityManager(
webhookConfig):SecurityManager
Defined in: packages/webhook/src/security/security.manager.ts:22
Parameters
Section titled “Parameters”webhookConfig
Section titled “webhookConfig”Pick<WebhookConfig, "algorithm" | "signatureHeader" | "signaturePrefix">
Returns
Section titled “Returns”SecurityManager
Methods
Section titled “Methods”createSecurityHeaders()
Section titled “createSecurityHeaders()”createSecurityHeaders(
payload,secret):Record<string,string>
Defined in: packages/webhook/src/security/security.manager.ts:120
Webhook 전송을 위한 보안 헤더 생성
Parameters
Section titled “Parameters”payload
Section titled “payload”string
secret
Section titled “secret”string
Returns
Section titled “Returns”Record<string, string>
createSignedPayload()
Section titled “createSignedPayload()”createSignedPayload(
payload,timestamp):string
Defined in: packages/webhook/src/security/security.manager.ts:39
Canonical string to sign when a timestamp header is present.
Format: ${timestamp}.${payload}
Parameters
Section titled “Parameters”payload
Section titled “payload”string
timestamp
Section titled “timestamp”string
Returns
Section titled “Returns”string
extractSignature()
Section titled “extractSignature()”extractSignature(
headers):string|null
Defined in: packages/webhook/src/security/security.manager.ts:105
HTTP 헤더에서 서명 추출
Parameters
Section titled “Parameters”headers
Section titled “headers”Record<string, string>
Returns
Section titled “Returns”string | null
generateSignature()
Section titled “generateSignature()”generateSignature(
payload,secret):string
Defined in: packages/webhook/src/security/security.manager.ts:46
Webhook 페이로드에 대한 서명 생성
Parameters
Section titled “Parameters”payload
Section titled “payload”string
secret
Section titled “secret”string
Returns
Section titled “Returns”string
generateSignatureWithTimestamp()
Section titled “generateSignatureWithTimestamp()”generateSignatureWithTimestamp(
payload,timestamp,secret):string
Defined in: packages/webhook/src/security/security.manager.ts:56
Generate signature for a timestamped webhook.
(Recommended when also validating X-Webhook-Timestamp to prevent replay.)
Parameters
Section titled “Parameters”payload
Section titled “payload”string
timestamp
Section titled “timestamp”string
secret
Section titled “secret”string
Returns
Section titled “Returns”string
getConfig()
Section titled “getConfig()”getConfig():
SecurityConfig
Defined in: packages/webhook/src/security/security.manager.ts:218
현재 보안 설정 반환
Returns
Section titled “Returns”SecurityConfig
updateConfig()
Section titled “updateConfig()”updateConfig(
config):void
Defined in: packages/webhook/src/security/security.manager.ts:211
보안 설정 업데이트
Parameters
Section titled “Parameters”config
Section titled “config”Partial<SecurityConfig>
Returns
Section titled “Returns”void
verifySignature()
Section titled “verifySignature()”verifySignature(
payload,signature,secret):boolean
Defined in: packages/webhook/src/security/security.manager.ts:70
Webhook 서명 검증
Parameters
Section titled “Parameters”payload
Section titled “payload”string
signature
Section titled “signature”string
secret
Section titled “secret”string
Returns
Section titled “Returns”boolean
verifySignatureWithTimestamp()
Section titled “verifySignatureWithTimestamp()”verifySignatureWithTimestamp(
payload,timestamp,signature,secret):boolean
Defined in: packages/webhook/src/security/security.manager.ts:89
Verify signature for a timestamped webhook.
Parameters
Section titled “Parameters”payload
Section titled “payload”string
timestamp
Section titled “timestamp”string
signature
Section titled “signature”string
secret
Section titled “secret”string
Returns
Section titled “Returns”boolean
verifyTimestamp()
Section titled “verifyTimestamp()”verifyTimestamp(
timestamp,toleranceSeconds?):boolean
Defined in: packages/webhook/src/security/security.manager.ts:142
타임스탬프 기반 재생 공격 방지 검증
Parameters
Section titled “Parameters”timestamp
Section titled “timestamp”string
toleranceSeconds?
Section titled “toleranceSeconds?”number = 300
Returns
Section titled “Returns”boolean