Aurabase Logosu
aura tabanıdokümanlar
dokümanlar›Kılavuzlar›Web kancaları ve HMAC

Giden Web Kancaları ve HMAC İmzaları

HMAC-SHA256 şifreleme imzalarını kullanarak Aurabase projenizden gerçek zamanlı olayları kendi sunucularınızda güvenli bir şekilde alın.

8 dk. oku·Seviye orta düzey·19 Ağu 2026 tarihinde revize edildi
Bu İngilizce metin, Fransızca orijinalinden otomatik olarak oluşturulmuştur ve henüz incelenmemiştir.
Bu sayfa otomatik olarak çevrildi. İngilizce versiyonu yetkilidir.
#
Operasyon

Web kancaları mimarisi

Aurabase giden web kancaları, sistem olaylarını geri arama URL'lerinize yayınlar (örneğin, yeni kullanıcı kaydı, başarılı ödeme, tablo satırı güncellemesi).

En Az Bir Kez Teslimat Garantisi

Gönderilen her web kancası, sunucularınızda bağımsız işlem uygulamanıza olanak tanıyan benzersiz bir olay tanımlayıcısı event_id içerir.

#
Güvenlik

X-Aurabase-Signature başlığının yapısı

Aurabase tarafından yayınlanan her HTTP POST isteği aşağıdaki güvenlik başlığını içerir:

http-headerstext
POST /webhook HTTP/1.1
Host: api.votre-domaine.com
Content-Type: application/json
X-Aurabase-Event-Id: evt_01J8Y6Q9K3M7Z...
X-Aurabase-Signature: t=1724060000,v1=9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
#
Doğrulama

HMAC-SHA256 imzasını doğrulayın

verify-webhook.tstypescript
import crypto from 'node:crypto'
export function verifyAurabaseWebhook(
  rawBody: string, signatureHeader: string, secret: string)
  const parts = Object.fromEntries(
    signatureHeader.split(',').map(p => p.split('=')),
  )
  const { t: timestamp, v1: signature } = parts

  // 1. Tekrar saldırılarına karşı koruma (en fazla 5 dakika)
  if (Math.abs(Date.now() / 1000 - Number(timestamp)) > 300) {
    return false
  }

  // 2. timestamp.rawBody'de HMAC-SHA256'nın hesaplanması
  const expected = crypto
    .createHmac('sha256', secret)
    .update(timestamp + '.' + rawBody)
    .digest('hex')

  // 3. Sabit sürede güvenli karşılaştırma
  return crypto.timingSafeEqual(
    Buffer.from(signature), Buffer.from(expected)
  )
}
#
Dayanıklılık

Arıza Yönetimi ve Teslim Edilmeyen Mektup Sırası

Sunucunuz bir HTTP hata koduyla (4xx, 5xx) yanıt verirse veya zaman aşımı yaşarsa (10 saniyelik zaman sınırı), Aurabase gönderimi üstel bir geri çekilmeye göre otomatik olarak yeniden dener:

  • 1. Deneme: Hemen
  • Deneme 2: 15 saniye sonra
  • 3. Deneme: 1 dakika sonra
  • 4. Deneme: 5 dakika sonra
  • 5. Deneme: 30 dakika sonra

Art arda 5 başarısızlıktan sonra olay, inceleme ve manuel yeniden oynatma için Studio'nun Teslim Edilmeyen Mektup Kuyruğuna (DLQ) yerleştirilir.