Authentifizierung von Benutzern im Webchat

Hinweis : Der Inhalt dieses Abschnitts bezieht sich auf den KI-Assistenten. Wenn Sie den KI-Chat in eine externe Seite einbetten möchten, lesen Sie die Seite [Übersicht über die Sicherheit von Webchats] (.. /chat/web_chat_security_overview.html ).

Bei aktivierter Web-Chat-Sicherheit können Sie Kunden anhand ihrer Benutzer-ID sicher authentifizieren.

Das Standardverhalten der Web-Chat-Integration besteht darin, eindeutige Benutzer zu identifizieren, indem der Wert der Eigenschaft " user_id festgelegt wird, der als Teil jeder Nachricht an den KI-Assistenten gesendet wird. Weitere Informationen finden Sie unter Verwalten von Benutzeridentitätsinformationen im Webchat.

Dieser Ansatz ist ausreichend, um eindeutige Benutzer für Abrechnungszwecke zu verfolgen, aber er ist nicht sicher und sollte nicht für die Zugangskontrolle verwendet werden. Wenn Sie die Webchat-Sicherheit aktivieren, verwenden Sie JSON-Web-Tokens (JWTs), um Ihre Benutzer sicher zu authentifizieren und den Zugriff auf Funktionen Ihres KI-Assistenten zu steuern, die eine Autorisierung erfordern.

Authentifizierung mit der Angabe " sub

Um diese Methode für die Benutzerauthentifizierung zu verwenden, müssen Sie zunächst die Webchat-Sicherheitsfunktion aktivieren. Weitere Informationen finden Sie unter Aktivieren der Webchat-Sicherheit.

Wenn Sie ein JWT für den Web-Chat erstellen, müssen Sie einen Wert für die Angabe " sub (Betreff) angeben, die den Benutzer identifiziert. Für anonyme Benutzer können Sie eine generierte eindeutige ID verwenden.

Wenn Sie eine Benutzer-ID für einen anonymen Benutzer generieren, stellen Sie sicher, dass Sie die generierte ID in einem Cookie speichern, um zu verhindern, dass derselbe Kunde mehrfach abgerechnet wird.

Wenn die Web-Chat-Integration eine mit diesem JWT signierte Nachricht empfängt, speichert sie die Benutzer-ID aus dem Anspruch " sub als " system_integrations.channel.private.user.id in Aktionen.

Wenn sich Ihre Kunden vor dem Start einer Web-Chat-Sitzung anmelden müssen, können Sie bei der Erstellung des JWT die authentifizierte Benutzer-ID als Wert der Angabe " sub verwenden. Da die Web-Chat-Integration den JWT validiert und den " sub -Claim verwendet, um die Benutzer-ID festzulegen, kann sich Ihr KI-Assistent nun auf " system_integrations.channel.private.user.id in Aktionen für eine sichere Zugriffskontrolle auf Funktionen verlassen, die eine Autorisierung erfordern.

Nachdem Sie das JWT für den Web-Chat festgelegt haben, können Sie während der Sitzung nicht zu einem JWT mit einem anderen " sub -Claim wechseln. Wenn Sie mitten in einer Sitzung authentifizierte Anmeldeinformationen hinzufügen müssen, können Sie diese stattdessen als Teil der Benutzer-Nutzdaten speichern. Ein Beispiel für diese Vorgehensweise finden Sie unter Tutorial: Authentifizierung eines Benutzers in der Mitte einer Sitzung.

Rechnungsstellung und Datenschutz

Bei benutzerbasierten Tarifen wird die Benutzer-ID für die Rechnungsstellung verwendet. (Sie können die Instanzmethode " updateUserID() nicht verwenden, um die Benutzerkennung festzulegen, wenn die Webchat-Sicherheit aktiviert ist) Dieselbe Benutzer-ID wird auch als Kunden-ID verwendet, mit der Anträge auf Löschung von Benutzerdaten gestellt werden können. Da die Kunden-ID in einem Header-Feld gesendet wird, muss die von Ihnen angegebene ID den Anforderungen für Header-Felder entsprechen, wie sie in RFC 7230 definiert sind.

Wenn Sie die Anforderungen der Datenschutzgrundverordnung (GDPR) erfüllen müssen, müssen Sie möglicherweise alle generierten anonymen Benutzer-IDs dauerhaft speichern, insbesondere für anonyme Benutzer, die sich später mit Benutzeranmeldedaten anmelden. Die Speicherung dieser Benutzerkennungen ermöglicht es Ihnen, später auf Wunsch alle mit einem einzelnen Kunden verbundenen Daten zu löschen.

Weitere Informationen zum Löschen von Benutzerdaten finden Sie unter Kennzeichnen und Löschen von Daten.

Abmeldung...

Zum Abmelden eines Kunden müssen Sie den Web-Chat löschen.

Wenn Sie die Seite neu laden, wenn sich ein Kunde abmeldet, rufen Sie die Instanzmethode " destroySession() auf, um jeden Verweis auf die aktuelle Sitzung aus den Cookies und dem Speicher des Browsers zu entfernen. Wenn Sie diese Methode nicht aufrufen, sind die durch den JWT geschützten Informationen nicht gefährdet, aber der Web-Chat wird versuchen, eine Verbindung zur vorherigen Sitzung herzustellen, was fehlschlägt.

Wenn Sie keine vollständige Neuladung der Seite durchführen, wenn sich ein Kunde abmeldet, rufen Sie die Instanzmethode " destroy() auf. Die Methode " destroy entfernt die aktuelle Instanz des Webchats, die für die aktuelle userID konfiguriert ist, aus dem DOM und dem Browser-Speicher. Als nächstes rufen Sie die Instanzmethode ' destroySession() auf.