Wenn Sie den Messenger auf Ihrer Website für eingeloggte users installiert haben, ist es wichtig, ihn zu sichern und zu verhindern, dass böswillige Akteure Ihre users imitieren oder unautorisierte Daten senden.
Um die Sicherheit und Flexibilität für unsere Kunden zu verbessern, haben wir JSON Web Tokens (JWTs) als sicherere und skalierbarere Methode zur Authentifizierung von users im Messenger eingeführt.
Wenn Sie derzeit Identity Verification (IDV) zur Verifizierung von users verwenden, bietet der Wechsel zu JWTs folgende Vorteile:
Größere Kontrolle über die Authentifizierung – Verwalten Sie selbst das Ablaufdatum und die Widerrufung von Sitzungen, anstatt sich auf feste Konfigurationen zu verlassen.
Stärkere Sicherheit – JWTs ermöglichen zeitlich begrenzte, signierte Tokens, wodurch das Risiko von Replay-Angriffen reduziert wird.
Verbesserte Datensicherheit – Definieren Sie genau, welche user-Attribute aktualisiert werden können, um die Offenlegung sensibler Daten zu verringern.
Zukunftssicherheit – JWTs sind der empfohlene Ersatz für IDV und sorgen dafür, dass Ihr Authentifizierungssystem den Best Practices entspricht.
Wer sollte migrieren?
Diese Migration ist relevant für alle Kunden, die derzeit IDV verwenden, insbesondere wenn Sie:
✅ Bessere Kontrolle über das Ablaufdatum von Sitzungen und die Widerrufung von Tokens benötigen
✅ Sichere, benutzerspezifische Attribut-Updates durchsetzen möchten
✅ Sensible Kundendaten verarbeiten und eine stärkere Authentifizierung benötigen
✅ Langfristige Sicherheitsverbesserungen in Ihrem Workspace planen
Während IDV vorerst weiterhin funktioniert, bieten JWTs einen moderneren, sichereren Ansatz, der den Best Practices für Authentifizierung entspricht. Diese Anleitung führt Sie Schritt für Schritt durch den Migrationsprozess.
Wesentliche Unterschiede zwischen Identity Verification und Messenger-Sicherheit mit JWTs
| Identity Verification | Messenger-Sicherheit mit JWTs |
Verifizierungsmethode | HMAC-SHA256 signierter Hash | HMAC-SHA256 signiertes JWT-Token |
Unterstützt Ablauf? | Nein | Ja |
Unterstützt sichere Datenaktualisierungen? | Nein | Ja |
Empfohlen für | Einfache Identitätsprüfung im Messenger | Sichere Authentifizierung mit besserer Sitzungssteuerung und sicherer Datenverarbeitung |
Migrationsschritte
Schritt 1: Aktualisieren Sie Ihre Integration, um JWTs statt Hashes zu generieren
Hören Sie auf, HMAC-SHA256-Signaturen (auch user_hashes genannt) für Identity Verification zu generieren.
[optional] Generieren Sie einen neuen geheimen Schlüssel für Ihren Messenger und wählen Sie aus, für welche Plattformen er gelten soll
Generieren Sie ein JWT mit Ihrem geheimen Schlüssel.
Wenn Identity Verification für Ihren Workspace bereits aktiviert ist (angezeigt durch die Messenger-Einstellungen "sicher installiert"), akzeptiert Intercom nur Anfragen, die entweder einen gültigen user_hash oder ein gültiges JWT enthalten.
Wenn Sie überprüfen möchten, ob Ihre JWT-Implementierung wie erwartet funktioniert, empfehlen wir, die Integration zuerst in Ihrem Test-Workspace durchzuführen.
Hinweis: Test-Workspaces und Produktions-Workspaces haben unterschiedliche Messenger-Geheimschlüssel und generieren daher unterschiedliche user_hashes und JSON Web Tokens.
Hier ist eine Beispielkonfiguration für serverseitigen Code in Node.js:
const jwt = require("jsonwebtoken");
const payload = {
user_id: "USER_ID_HERE", // Required
email: "EMAIL_ADDRESS_HERE", // Optional
data_attribute: "YOUR_DATA", // Optional
exp: Math.floor(Date.now() / 1000) + 3600 // Expires in 1hr
};
const secret = process.env.MESSENGER_SECRET_KEY || "YOUR_MESSENGER_SECRET_KEY"; // Secure key storage
const intercomUserJwt = jwt.sign(payload, secret, { algorithm: "HS256" });Was in Ihre JWT-Nutzlast gehört:
user_id, um den user zu identifizieren. Dies ist ein Pflichtfeld.Ein optionaler Zeitstempel (
exp) für das AblaufdatumAlle anderen Datenattribute, die Sie sicher für Ihre users senden möchten
Für detaillierte Anweisungen zur Generierung von JWTs für Ihren Workspace lesen Sie unseren Hauptartikel im help center oder besuchen Sie Ihre Sicherheitseinstellungen.
Schritt 1a: Eine Anmerkung zu Datenattributen
Wenn Sie derzeit Datenattribute über Ihre users über den Messenger senden, sollten Sie Ihre Integration aktualisieren, um diese Attribute sicher innerhalb Ihres user JWT zu senden. Fügen Sie dazu alle Attribute zu Ihrer Nutzlast hinzu und stellen Sie sicher, dass unsichere Messenger-Anfragen blockiert werden.
Im obigen Codebeispiel signiert unsere Nutzlast die user_id und email. Sie enthält auch ein Ablaufdatum, das ebenfalls in die Nutzlast aufgenommen werden sollte.
Für diese Attribute sollten wir jetzt unsichere Messenger-Updates deaktivieren. Das bedeutet, dass diese nur über ein gültiges JWT aktualisiert werden können und niemals ohne.
Wir empfehlen, diesen Schalter für jedes Attribut zu aktivieren, das Sie in Ihrem JWT senden. Sie können die Attribute Ihres Workspace unter Einstellungen > Daten > Personen einsehen.
Hinweis: Dieser Attribut-Update-Schalter verhindert nicht, dass Sie Daten direkt von leads mit einem Bot sammeln. Diese Daten stammen direkt vom user.
Schritt 2: Aktualisieren Sie Ihr Frontend-Snippet, um JWTs für users zu senden
Anstatt eine HMAC-Signatur für IDV zu übergeben, übergeben Sie das JWT in den Messenger-Einstellungen als intercom_user_jwt
Für Web (JavaScript SDK):
window.Intercom("boot", {
api_base: "https://api-iam.intercom.io",
app_id: "<YOUR_APP_ID_HERE",
intercom_user_jwt: "<YOUR_USER_JWT_HERE>"
};
Wie im vorherigen Abschnitt erwähnt, senden wir jetzt unsere Datenattribute innerhalb des JWT und sie wurden aus dem Snippet entfernt.
Für detaillierte Anweisungen zur Generierung von JWTs für Ihren Workspace lesen Sie unseren Hauptartikel im help center oder besuchen Sie Ihre Sicherheitseinstellungen. Für mobile Anweisungen lesen Sie bitte unsere Entwicklerdokumentation für iOS und Android.
Fehlerbehebung
In Ihren Sicherheitseinstellungen gibt es ausführliche Fehlerprotokolle und ein Token-Debugger-Tool, die beim Umstieg auf JWTs helfen.
FAQs
Was passiert, wenn ich nicht migriere?
Identity Verification funktioniert vorerst weiter, aber JWTs bieten stärkere Sicherheit und bessere Kontrolle.
Wie widerrufe ich eine JWT-Sitzung?
Sie können ein kurzes Ablaufdatum (exp) setzen oder Signaturschlüssel rotieren, um alte Tokens ungültig zu machen.
Kann ich Identity Verification und JWTs zusammen verwenden?
Sobald die JWT-Authentifizierung für eine Plattform aktiviert ist, ist Identity Verification nicht mehr erforderlich. Sie können JWTs und Identity Verification jedoch unabhängig voneinander auf Web, iOS und Android verwenden, da diese jeweils einzeln eingerichtet werden.

