Zum Hauptinhalt springen

Einwilligung serverseitig überprüfen

Verwenden Sie diese Methode, wenn Sie die Einwilligung vor serverseitigen Vorgängen wie E-Mail-Versand, Datenexporten oder Analyse-Pipelines bestätigen müssen.

Wann eine serverseitige Überprüfung sinnvoll ist

  • Einen Nutzer zu einer Marketing-E-Mail-Liste hinzufügen
  • Verhaltensdaten in Ihrem Data Warehouse speichern
  • Daten an eine Drittanbieter-API weitergeben (CRM, Werbeplattform)
  • Serverseitiges Rendering von personalisierten Inhalten

Schritt 1: Ihr API-Token abrufen

Konto → API-Schlüssel → Schlüssel erstellen mit dem Berechtigungsbereich receipts:read.

Schritt 2: Den Nutzeridentifikator aufbauen

Der Identifikator muss mit dem übereinstimmen, den ConsentForge im Browser verwendet. Die Laufzeitumgebung hasht: {ip}|{userAgent}|{propertyId}|{date} mit SHA-256.

const crypto = require('crypto');

function buildUserId(ip, userAgent, propertyId) {
const date = new Date().toISOString().split('T')[0]; // YYYY-MM-DD
const raw = `${ip}|${userAgent}|${propertyId}|${date}`;
return crypto.createHash('sha256').update(raw).digest('hex');
}

Schritt 3: Einwilligung prüfen

async function hasConsent(ip, userAgent, propertyId, category) {
const userId = buildUserId(ip, userAgent, propertyId);

const res = await fetch(
`https://api.consentforge.com/api/v1/consent/check?property_id=${propertyId}&user_id=${userId}&category=${category}`,
{ headers: { Authorization: `Bearer ${process.env.CONSENTFORGE_API_KEY}` } }
);

if (!res.ok) return false;
const { has_consent } = await res.json();
return has_consent;
}

// Verwendung:
const canEmail = await hasConsent(req.ip, req.headers['user-agent'], 'prop_abc', 'marketing');
if (canEmail) {
await addToEmailList(user.email);
}

Caching

Speichern Sie die Ergebnisse der Einwilligungsprüfung bis zu 5 Minuten im Cache, um übermäßige API-Aufrufe bei Endpunkten mit hohem Datenverkehr zu vermeiden. Einwilligungsänderungen sind innerhalb einer einzelnen Sitzung selten.

Siehe auch: Serverseitige Überprüfung