Webhook HMAC doğrulaması
timingSafeEqual kullanan webhook imza kontrolü.

Prompt Metni
Node.js’te gelen webhook gövdesini HMAC SHA-256 ile doğrula. Gereksinimler: - İmzayı zamanlama saldırısına karşı güvenli karşılaştır - Ham gövde string veya Buffer olsun - Gizli anahtarı kod içine yazma - Geçersiz imzada false dön - Kısa bir kullanım örneği ver
Prompt Sonucu
import { createHmac, timingSafeEqual } from 'node:crypto'
export function isValidWebhook(
rawBody: string | Buffer,
signatureHex: string,
secret: string
): boolean {
const digest = createHmac('sha256', secret).update(rawBody).digest()
const received = Buffer.from(signatureHex, 'hex')
if (digest.length !== received.length) return false
return timingSafeEqual(digest, received)
}
const ok = isValidWebhook(rawBody, headerSignature, process.env.WEBHOOK_SECRET ?? '')
Benzer Promptlar

Kod
Zod ile ortam değişkenleri
Eksik gizli anahtarı açılışta yakalayan Zod ortam şeması.

Kod
Next.js dinamik metadata
Promise params ile başlık, açıklama ve mutlak Open Graph adresi.

Kod
React iyimser beğeni
Beğeni sayısını sunucu yanıtından önce güncelleyen useOptimistic örneği.

Kod
GitHub Actions Next.js CI
npm ci, lint ve build çalıştıran kısa GitHub Actions iş akışı.