Zum Hauptinhalt springen

Migration von Identity Verification zu Messenger-Sicherheit mit JWTs

Wie Sie Ihre user Messenger-Sitzungen vor Cross-User-Imitation, Sitzungsdiebstahl und unautorisierten Datenattribut-Updates schützen.

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 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 Ablauf und Widerruf von Sitzungen benötigen

✅ Sichere, user-spezifische Attribut-Updates durchsetzen möchten

✅ Sensible Kundendaten verarbeiten und stärkere Authentifizierung benötigen

✅ Langfristige Sicherheitsverbesserungen in Ihrem Workspace planen

Während IDV vorerst weiter 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 die Migration.


Wesentliche Unterschiede zwischen Identity Verification und Messenger-Sicherheit mit JWTs

Identity Verification

Messenger-Sicherheit mit JWTs

Verifizierungsmethode

HMAC-SHA256 signierter Hash

JWT signiertes Token

Unterstützt Ablauf?

Nein

Ja

Unterstützt sichere Datenaktualisierungen?

Nein

Ja

Empfohlen für

Grundlegende Identitätsprüfung im Messenger

Sichere Authentifizierung mit besserer Sitzungssteuerung und sicherer Datenverarbeitung

Mobile SDK-Unterstützung: Derzeit ist die JWT-Authentifizierung nur für Web-Messenger-Implementierungen verfügbar. Für iOS- und Android-SDKs sollten Sie weiterhin Identity Verification verwenden.


Migrationsschritte

Schritt 1: Aktualisieren Sie Ihre Integration, um JWTs statt Hashes zu generieren

  1. Hören Sie auf, HMAC-SHA256-Signaturen für Identity Verification zu erzeugen.

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

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

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 sicher für Ihre users senden möchten

Für detaillierte Anweisungen zur Generierung von JWTs für Ihren Workspace siehe unser Hauptdokument im Hilfezentrum.

Hinweis: Wenn Sie derzeit Datenattribute über Ihre users über Zendesk oder Fin 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. Sie enthält auch ein Ablaufdatum, das ebenfalls in die Nutzlast aufgenommen werden sollte.

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

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

Für detaillierte Anweisungen zur Generierung von JWTs für Ihren Workspace siehe unser Hilfezentrum-Dokument.

Mobile (iOS/Android SDKs): JWTs werden in den mobilen SDKs noch nicht unterstützt. Hier sollten Sie vorerst weiterhin Identity Verification verwenden.


Fehlerbehebung

Es gibt ausführliche Fehlerprotokolle und ein Token-Debugger-Tool unter Einstellungen > Messenger > Sicherheit, die beim Umstieg auf JWTs helfen.

Weitere Informationen finden Sie in unserer Installationsanleitung hier.


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

Hat dies deine Frage beantwortet?