Zum Hauptinhalt springen

Migration von Identity Verification zu Messenger Security mit JWTs

Wie Sie Ihre Benutzer-Messenger-Sitzungen vor Cross-User-Impersonation, Sitzungsdiebstahl und unautorisierten Datenattribut-Updates schützen

Verfasst von Penny Gray

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 Ihnen:

  • Mehr 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 Benutzerattribute 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

Obwohl 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.

Was passiert mit dem Messenger-Konversationsverlauf, wenn ich keine JWTs verwende?

Wenn Ihr Messenger-Kanal keine Messenger Security mit JWTs eingerichtet hat, können Ihre Kunden im Messenger nur ihre eigene Konversationshistorie der letzten 14 Tage sehen. Dieses Limit wurde im April 2026 als Sicherheitsmaßnahme eingeführt.

Um die vollständige Sichtbarkeit des Konversationsverlaufs für Ihre Kunden wiederherzustellen, richten Sie Messenger Security mit JWTs ein, indem Sie die untenstehenden Migrationsschritte befolgen. Sobald JWTs auf einer Plattform aktiv sind, wird das 14-Tage-Limit für diese Plattform aufgehoben.

Konversationen, die älter als 14 Tage sind, werden für Kunden im Messenger ausgeblendet, aber nicht gelöscht. Sie bleiben für Ihre Teammitglieder im Inbox sichtbar. Weitere Details finden Sie unter User conversation history visibility.

Wesentliche Unterschiede zwischen Identity Verification und Messenger Security mit JWTs

Identity Verification

Messenger Security 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

  1. Hören Sie auf, HMAC-SHA256-Signaturen (auch user_hashes genannt) für Identity Verification zu erzeugen.

  2. [optional] Generieren Sie einen neuen geheimen Schlüssel für Ihren Messenger und wählen Sie aus, für welche Plattformen er gelten soll.

  3. Generieren Sie ein JWT mit Ihrem geheimen Schlüssel.

Wenn Identity Verification bereits für Ihren Workspace aktiviert ist (angezeigt durch die Messenger-Einstellungen "securely installed"), akzeptiert Intercom nur Anfragen mit entweder einem gültigen user_hash oder einem gültigen JWT.
​
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 Ablaufdatum

  • Alle anderen Datenattribute, die Sie für Ihre users sicher senden möchten

Für detaillierte Anweisungen zur Generierung von JWTs für Ihren Workspace siehe 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 user_id und email. Es enthält auch ein Ablaufdatum, das ebenfalls in die Nutzlast aufgenommen werden sollte.

Für diese Attribute sollten wir jetzt unsichere Messenger-Updates für diese Attribute deaktivieren. Das bedeutet, dass diese nur über ein gültiges JWT und niemals ohne aktualisiert werden können.

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 Ihren 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>"
};

React: Wenn Sie das React SDK verwenden, ist api_base im Boot-Aufruf nicht erforderlich, wie es beim oben gezeigten Vanilla-JavaScript-Snippet der Fall ist – das React SDK übernimmt dies intern. api_base sollte nur angegeben werden, wenn Sie das einfache JavaScript-Snippet verwenden.

Wie im vorherigen Abschnitt erwähnt, senden wir jetzt unsere Datenattribute innerhalb des JWT und haben sie aus dem Snippet entfernt.

Für detaillierte Anweisungen zur Generierung von JWTs für Ihren Workspace siehe unseren Hauptartikel im help center oder besuchen Sie Ihre Sicherheitseinstellungen. Für mobile Anweisungen siehe bitte unsere Entwicklerdokumentation für iOS und Android.


Durchsetzung von JWTs bei allen Anfragen

Die Akzeptanz eines gültigen JWT bei einzelnen Anfragen ist ein separater Schritt von der Anforderung eines gültigen JWT für jede Anfrage. Um künftig für jede Messenger-Anfrage ein gültiges JWT zu verlangen, müssen Sie außerdem Enforce Messenger Security unter Einstellungen > Messenger > Sicherheit aktivieren. Bis dieser Schalter aktiviert ist, kann die JWT-Authentifizierung korrekt funktionieren, ohne workspaceweit erzwungen zu werden.

Fehlerbehebung

In Ihren Sicherheitseinstellungen gibt es ausführliche Fehlerprotokolle und ein Token-Debugging-Tool, die beim Umstieg auf JWTs helfen.

Warum erhalte ich nach der Migration zu JWTs einen 403 Forbidden-Fehler?

Ein 403-Fehler "Forbidden request" nach der Migration zu Messenger Security mit JWTs, obwohl Ihr JWT gültig ist, tritt auf, wenn die Messenger API für Web in Ihrem Workspace deaktiviert ist. Solange sie deaktiviert ist, lehnt der Messenger jeden eingeloggten user ab und akzeptiert nur anonyme Besucher, unabhängig davon, ob die user_id im JWT mit der external_id des Kontakts übereinstimmt.

Um den 403-Fehler zu beheben, gehen Sie zu Einstellungen > Kanäle > Messenger > Installation, wählen Sie For users with logins aus und aktivieren Sie den Schalter Enable the Messenger API to continue installation für Web. Starten Sie den Messenger anschließend erneut mit Ihrem JWT.


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, wird Identity Verification nicht mehr benötigt. Sie können JWTs und Identity Verification jedoch unabhängig auf Web, iOS und Android verwenden, da diese jeweils einzeln eingerichtet werden.

Hat dies deine Frage beantwortet?