İçeriğe geç
EN Panele git
Webhook'lar

İmza doğrulama

Her istek X-Bulutegra-Imza: sha256=<hex> başlığı taşır. Değer, ham istek gövdesinin webhook imza sırrınızla HMAC-SHA256 özetidir. İsteği işlemeden önce mutlaka doğrulayın ve karşılaştırmayı sabit süreli yapın.

!
İmzayı gövdeyi JSON olarak ayrıştırıp yeniden yazdıktan sonra değil, ham baytlar üzerinde hesaplayın.
import hashlib, hmac, os
from flask import Flask, request, abort

SIR = os.environ["BULUTEGRA_WEBHOOK_SIR"].encode()
app = Flask(__name__)

@app.post("/bulutegra-webhook")
def webhook():
    beklenen = "sha256=" + hmac.new(SIR, request.get_data(), hashlib.sha256).hexdigest()
    if not hmac.compare_digest(beklenen, request.headers.get("X-Bulutegra-Imza", "")):
        abort(401)
    olay = request.get_json()
    # olay["kimlik"] ile tekrarları ayıklayın, işi kuyruğa atın
    return "", 204

Son güncelleme: 2026-10-07