Fügen einem Thema eine Benutzerauthentifizierung hinzu, damit sich Ihre Kunden direkt in einer Unterhaltung anmelden können. Anschließend können Sie die Unterhaltung mit Benutzervariablen personalisieren und auf im Namen des Benutzers auf Back-End-Systeme zugreifen.
Sie müssen die Benutzerauthentifizierung mit der Microsoft Entra ID konfigurieren, bevor Sie die Authentifizierung in Ihren Themen verwenden können.
Folgen Sie den Anweisungen unter Benutzerauthentifizierung mit Microsoft Entra ID konfigurieren.
Die Benutzerauthentifizierung mit dem Anmelden-Systemthema hinzufügen
Wenn Sie einen Copiloten erstellen, fügt Copilot Studio automatisch ein Systemthema namens Anmelden hinzu. Sie müssen zur Verwendung des Themas die Authentifizierung Ihres Copiloten auf manuell einstellen und von den Benutzern eine Anmeldung verlangen. Wenn ein Kunde eine Unterhaltung mit dem Copiloten beginnt, wird das Anmelden-Thema ausgelöst, und der Benutzer wird aufgefordert, sich anzumelden. Sie können das Anmelden-Thema anpassen, dass er für Ihren Copiloten geeignet ist.
Wichtig
Das Thema Anmelden sollte nur verwendet werden, um die Authentifizierungsmethode bereitzustellen, die von Copilot Studio bereitgestellt wird. Es sollte nicht geändert werden, um andere Aktionen oder Flows oder andere Authentifizierungsmethoden aufzurufen.
Öffnen Sie Ihren Copilot in Copilot Studio und wählen Sie Einstellungen oben auf der Seite und wählen Sicherheit aus.
Wählen Sie Authentifizierung.
Wählen Sie Manuell authentifizieren und dann Benutzeranmeldung erforderlich.
Konfigurieren Sie alle manuellen Authentifizierungsfelder nach Bedarf.
Wählen Sie Speichern.
Endbenutzerauthentifizierung zu einem benutzerdefinierten Thema hinzufügen
Das Thema Anmeldung authentifiziert den Benutzer zu Beginn des Gesprächs. Damit sich der Benutzer später anmelden kann, können Sie jedem benutzerdefinierten Thema einen Authentifizierungsknoten hinzufügen.
Wenn Kunden ihren Benutzernamen und ihr Passwort eingeben, werden sie möglicherweise aufgefordert, einen Validierungscode einzugeben. Nach der Anmeldung werden sie nicht erneut dazu aufgefordert, selbst wenn sie einen anderen Authentifizierungs Knoten erreichen.
Wählen Sie oben auf der Seite zuerst Einstellungen und anschließend Sicherheit aus.
Wählen Sie die Kachel Authentifizierung aus.
Anmerkung
Sie müssen Manuell authentifizieren auswählen, um eine Benutzerauthentifizierung zu einem benutzerdefinierten Thema hinzuzufügen.
Löschen Sie das Kontrollkästchen Anmeldung der Benutzer erforderlich machen.
Konfigurieren Sie alle manuellen Authentifizierungsfelder nach Bedarf.
Wählen Sie Speichern.
Wählen Sie oben auf der Seite Thema aus.
Wählen Sie Knoten hinzufügen ( ) >Erweitert>Authentifizieren.
Testen Sie Ihr Thema mit einem Benutzer, der mit Ihrem Identitätsanbieter konfiguriert ist.
Tipp
Es ist wichtig, dass Sie Pfade für erfolgreiche und fehlgeschlagene Anmeldungen erstellen. Eine Anmeldung kann sich aus vielen Gründen fehlschlagen, darunter Fehler bei der Anmeldeerfahrung des Identitätsanbieters.
Authentifizierungvariablen
Wenn Sie die Benutzerauthentifizierung für Ihren Copiloten konfigurieren, können Sie in Ihren Themen Authentifizierungsvariablen verwenden. In der folgenden Tabelle wird die Verfügbarkeit dieser Variablen basierend auf der von Ihnen ausgewählten Authentifizierungsoption verglichen:
Weitere Informationen zu Variablen finden Sie unter Arbeiten mit Variablen.
Authentifizierungsvariable |
Keine Authentifizierung |
Mit Microsoft authentifizieren |
Manuell authentifizieren |
Benutzer.Anzeigename |
Nicht verfügbar |
Verfügbar |
Verfügbar |
User.FirstName |
Nicht verfügbar |
Verfügbar |
Verfügbar |
User.LastName |
Nicht verfügbar |
Verfügbar |
Verfügbar |
User.PrincipalName |
Nicht verfügbar |
Verfügbar |
Verfügbar |
Benutzer-E-Mail |
Nicht verfügbar |
Verfügbar |
Verfügbar |
User.ID |
Nicht verfügbar |
Verfügbar |
Verfügbar |
Benutzer.IsLoggedIn |
Nicht verfügbar |
Verfügbar |
Verfügbar |
Benutzer.Zugriffstoken |
Nicht verfügbar |
Nicht verfügbar |
Verfügbar |
AnmeldenGrund |
Nicht verfügbar |
Verfügbar |
Verfügbar |
User.DisplayName
Warnung
Es ist nicht garantiert, dass diese Variable einen Wert enthält. Testen Sie mit einem Benutzer Ihres Identifikationsanbieters, ob Ihr Thema ordnungsgemäß funktioniert.
Die User.DisplayName
Variable enthält die im Identitätsanbieter gespeicherte Anzeigename. Verwenden Sie diese Variable, um den Benutzer zu begrüßen oder auf ihn zu verweisen, ohne dass er dem Bot explizit seinen Namen mitteilen muss, wodurch die Unterhaltung persönlicher wird.
Copilot Studio legt automatisch den Wert User.DisplayName
aus der name
-Anforderung fest, die vom Identitätsanbieter bereitgestellt wird, sofern der profile
-Bereich bei der Konfiguration der manuellen Authentifizierung definiert wurde. Weitere Informationen zum Umfang finden Sie unter Benutzerauthentifizierung mit Microsoft Entra ID konfigurieren.
User.Id
Warnung
Es ist nicht garantiert, dass diese Variable einen Wert enthält. Testen Sie mit einem Benutzer Ihres Identifikationsanbieters, ob Ihr Thema ordnungsgemäß funktioniert.
Die User.Id
Variable enthält die im Identitätsanbieter gespeicherte Benutzer-ID. Verwenden Sie diese Variable in Power Automate-Flows, um APIs aufzurufen, die die Benutzer-ID als Wert annehmen.
Copilot Studio legt automatisch den Wert User.DisplayName
aus der sub
-Anforderung fest, die vom Identitätsanbieter bereitgestellt wird:
User.IsLoggedIn
User.IsLoggedIn
ist eine boolesch-Variable, die den Anmeldestatus des Benutzers speichert. Der Wert true
gibt an, dass der Benutzer angemeldet ist. Sie können diese Variable verwenden, um eine Verzweigungslogik in Ihren Themen zu erstellen, die eine erfolgreiche Anmeldung überprüft, oder um Benutzerinformationen nur abzurufen, wenn der Benutzer angemeldet ist.
User.AccessToken
Warnung
Stellen Sie sicher, dass Sie die User.AccessToken
-Variable nur an vertrauenswürdige Quellen übergeben. Sie enthält Informationen zur Benutzerauthentifizierung, die bei einer Beeinträchtigung dem Benutzer schaden können.
Die User.AccessToken
-Variable enthält das Token des Benutzers, das nach der Anmeldung des Benutzers abgerufen wird. Sie können diese Variable an Power Automate-Flows übergeben, sodass sie eine Verbindung zu Back-End-APIs herstellen und Benutzerinformationen abrufen oder im Namen des Benutzers Maßnahmen ergreifen kann.
Verwenden Sie in Nachrichtenknoten oder in Flows, denen Sie nicht vertrauen, keinen User.AccessToken
.
SignInReason
SignInReason
ist eine Auswahlvariable, die angibt, wann sich der Benutzer anmelden muss. Sie hat zwei mögliche Werte:
SignInRequired
gibt an, dass sich der Benutzer zu Beginn der Konversation mit dem Anmeldenamen Systemthema anmelden muss. „Anmeldung von Benutzern erforderlich“ muss aktiviert sein.
Initializer
gibt an, dass ein Benutzer, der nicht angemeldet ist und in der Konversation, in der Authentifizierungsvariablen verwendet werden, auf einen zeigen stößt, zur Anmeldung aufgefordert wird.
Authentifizierungvariablen
Wenn Ihr Copilot mit den Authentifizierungsoptionen Authentifizierung mit Microsoft oder Manuell konfiguriert ist, steht Ihnen in Ihren Themen ein Satz von Authentifizierungsvariablen zur Verfügung. Weitere Informationen zum Konfigurieren der Authentifizierung in Ihrem Copiloten finden Sie unter Benutzerauthentifizierung in Copilot Studio konfigurieren.
In der folgenden Tabelle wird die Verfügbarkeit von Authentifizierungsvariablen nach Authentifizierungskonfigurationsoption verglichen:
Authentifizierungsvariable |
Keine Authentifizierung |
Mit Microsoft authentifizieren |
Manuell |
User.DisplayName |
❌ |
✔️ |
✔️ |
User.Id |
❌ |
✔️ |
✔️ |
User.IsLoggedIn |
❌ |
❌ |
✔️ |
User.AccessToken |
❌ |
❌ |
✔️ |
UserDisplayName-Variable
Die User.DisplayName
Variable enthält die Anzeigename des Benutzers, die im Identitätsanbieter gespeichert ist. Sie können diese Variable verwenden, um den Endbenutzer zu begrüßen oder auf ihn zu verweisen, ohne dass er dies dem Copilot explizit mitteilen muss, wodurch er personalisierter wird.
Dieser Feldwert ergibt sich aus dem Microsoft Entra ID name
Anspruch. Für OAuth Anbieter wird dieser Wert im name
Anspruch gespeichert. Copilot Studio extrahiert dieses Feld automatisch in die Variable, stellen Sie also sicher, dass Sie profile
als Teil Ihrer Authentifizierungsbereich-Einrichtung haben.
UserID-Variable
Die User.Id
Variable enthält die ID des Benutzers, die im Identitätsanbieter gespeichert ist. Power Automate Flows können diesen Wert verwenden, um APIs aufzurufen, die die Benutzer-ID als Wert verwenden.
Dieser Feldwert ergibt sich aus dem Microsoft Entra ID sub
Anspruch. Für OAuth Anbieter wird dieser Wert im sub
Anspruch gespeichert. Copilot Studio extrahiert dieses Feld automatisch in die Variable.
Warnung
Das Ausfüllen der Variablen User.DisplayName
und User.Id
ist nicht garantiert, und je nach Benutzerkonfiguration im Identitätsanbieter können es sich auch um leere Zeichenfolgen handeln. Testen Sie mit einem Benutzer Ihres Identifikationsanbieters, ob Ihre Themen ordnungsgemäß funktionieren, auch wenn diese Variablen leer sind.
IsLoggedIn-Variable
Die Variable User.IsLoggedIn
gibt an, ob der Benutzer angemeldet ist (entweder aufgrund der Anmeldung oder weil er bereits angemeldet ist, was auch als Pfad für erfolgreiche Anmeldung bezeichnet wird) oder nicht angemeldet ist (was zum Pfad für fehlgeschlagene Anmeldung führen würde).
User.IsLoggedIn
ist eine boolesch-Variable, die den Anmeldestatus des Benutzers enthält. Mit dieser Variablen können Sie in Ihren Themen eine Verzweigungslogik erstellen, die nach einer erfolgreichen Anmeldung sucht (z. B. in der Vorlage, die bereits beim Hinzufügen des Authentifizieren-Knotens bereitgestellt wurde) oder zum opportunistischen Abrufen von Benutzerinformationen nur, wenn der Benutzer angemeldet ist.
User.AccessToken-Variable
Die User.AccessToken
-Variable enthält das Token des Benutzers, das nach der Anmeldung des Benutzers abgerufen wird. Sie können diese Variable an Power Automate-Flows übergeben, sodass sie eine Verbindung zu Back-End-APIs herstellen und die Benutzerinformationen abrufen oder im Namen des Benutzers Maßnahmen ergreifen kann.
Warnung
Stellen Sie sicher, dass Sie die User.AccessToken
-Variable nur an vertrauenswürdige Quellen übergeben. Sie enthält Informationen zur Benutzerauthentifizierung, die bei einer Beeinträchtigung dem Benutzer schaden können.
Verwenden Sie keine User.AccessToken
in Meldungsknoten oder in Flows, denen Sie nicht vertrauen.
Testen von Authentifizierungsvariablen
Standardmäßig verwendet der Bereich Testbot das Konto des aktuell angemeldeten Benutzers, um die Variablen User.DisplayName
und User.Id
zu füllen. Wenn Sie jedoch Themen testen, die die Authentifizierung verwenden, möchten Sie möglicherweise andere Werte für diese Variablen (oder sogar einen leeren Wert) verwenden.
Beispielsweise möchten Sie möglicherweise testen, wie Sonderzeichen verwendet werden oder was passiert, wenn die Variable leer ist.
In der folgenden Tabelle sind die Befehle zum Auffüllen dieser Variablen aufgeführt. Diese Befehle gelten nur für den Bereich Testbot . Sie können sie nicht in einem veröffentlichten Copiloten verwenden, der in einem Kanal bereitgestellt wird.
Geben Sie den gewünschten Befehl in den Bereich Testbot ein, genauso, als würden Sie normal mit dem Copiloten chatten. Sie erhalten eine Bestätigungsnachricht vom Copilot, wenn Sie erfolgreich sind. Wenn Ihr Copilot keine Authentifizierung verwendet, wird eine Fehlermeldung angezeigt.
Wenn Sie den Testbot Bereich zurücksetzen (oder Änderungen an einem Thema vornehmen, die dazu führen, dass der Testbot automatisch zurückgesetzt wird), müssen Sie die Befehle erneut senden.
Variable |
Benutzerdefinierter Befehl |
Befehl zum (leeren) Wertbefehl |
User.DisplayName |
/debug set bot.UserDisplayName "Value" |
/debug set bot.UserDisplayName "" |
User.Id |
Nicht verfügbar |
/debug set bot.UserID "" |
Wichtig
Aus Sicherheitsgründen können Sie die Variable User.Id
nicht mit einem benutzerdefinierten Wert (außer einem leeren oder leeren Wert) füllen.
Authentifizierung bei Verwendung von „Authenticate with Microsoft“
Wenn Ihre Authentifizierungsoption auf Mit Microsoft authentifizieren eingestellt ist, müssen Sie Ihren Themen keine explizite Authentifizierung hinzufügen. In dieser Konfiguration wird jeder Benutzer in Microsoft Teams automatisch über ihre Team-Anmeldeinformationen angemeldet und muss sich nicht explizit mit einer Authentifizierungskarte anmelden. Wenn Ihre Authentifizierungsoption auf Manuell eingestellt ist, müssen Sie einen Authentifizierungsknoten hinzufügen (auch für den Teams-Kanal).
Anmerkung
Wenn Ihre Authentifizierungsoption auf Mit Microsoft authentifizieren eingestellt ist, haben Sie nicht die Möglichkeit, Ihren Themen explizit eine Authentifizierung hinzuzufügen.
Endbenutzerauthentifizierung zu einem Thema hinzufügen
Der Knoten Authentifizierung fordert einen Benutzer auf, sich mit dem Anmeldenamen Karte anzumelden. Sobald ein Benutzer angemeldet ist, wird er nicht erneut aufgefordert, sich anzumelden, auch wenn er einen anderen Authentifizierungs Knoten erreicht.
Sobald der Benutzer seinen Benutzernamen und sein Kennwort in die Eingabeaufforderung (gehostet vom Identitätsanbieter) eingegeben hat, wird er möglicherweise aufgefordert, einen Validierungscode einzugeben, abhängig vom Kanal. Für einige Kanäle, z. B. Microsoft Teams, ist kein Validierungscode vom Benutzer erforderlich.
Beachten Sie, dass, wenn Ihr Copilot für SSO konfiguriert ist, der Benutzer nicht aufgefordert wird, sich anzumelden.
So fügen Sie Ihrem Thema einen Authentifizierungsknoten hinzu:
Gehen Sie auf die Themenseite für den Copiloten, den Sie bearbeiten möchten.
Öffnen Sie Thema, zu dem Sie die Authentifizierungsvorlage hinzufügen möchten.
Anmerkung
Wenn Ihr Copilot mit Dynamics 365 Customer Service verbunden ist, kann der Authentifizierungsknoten nicht Teil des Unterhaltungspfads sein, dem der Copilot bei der ersten Begrüßung der Benutzer folgt. Andernfalls wird die Anmeldekarte zweimal angezeigt. Stattdessen sollten Sie den Knoten Authentifizierung zu einem anderen Thema hinzufügen, der von einem Benutzer Antwort ausgelöst wird.
Wählen Sie Knoten hinzufügen (+), um einen Nachrichtenknoten hinzuzufügen. Geben Sie ein, was der Copilot sagen soll, um anzuzeigen, dass eine Anmeldeerfahrung bevorsteht.
Wählen Sie unter dem Nachrichtenknoten Knoten hinzufügen (+) und wählen Sie Eine Aktion aufrufen und dann Authentifizieren aus.
Notiz
Der Knoten Authentifizieren ist nur in der Aktionsauswahl am Ende eines Dialogbaums (als Blattknoten) verfügbar. Es kann nicht in der Mitte eines Dialogs hinzugefügt werden. Nach dem Hinzufügen können weitere Knoten darunter hinzugefügt werden.
Neue Knoten werden automatisch angezeigt: ein übergeordnetes Element Authenticate -Knoten, gefolgt von Knoten für einen Erfolgspfad und einen Fehlerpfad.
User.AccessToken-Verwendung ohne Authenticate-Knoten
Die Variablen User.IsLoggedIn
und User.AccessToken
sind auch dann verfügbar, wenn Sie nicht die Vorlage verwenden, die durch den Menüeintrag Aktion aufrufen bereitgestellt wird. Wenn Sie die User.AccessToken
Variable übergeben, ohne den Benutzer zuerst den Knoten Authentifizierung durchlaufen zu lassen, wird der Benutzer aufgefordert, sich bei diesem Schritt anzumelden.
Die Übergabe der Variable User.AccessToken
kann nützlich sein, wenn Sie immer davon ausgehen, dass der Benutzer angemeldet ist, oder wenn Ihr Benutzer von einem anderen Thema umgeleitet wird. Wir empfehlen Ihnen, die vom Eine Aktion aufrufen-Eintrag bereitgestellte Vorlage zur Behandlung von Fällen zu verwenden, in denen sich der Benutzer nicht anmeldet.
Notiz
Wenn sich der Benutzer mitten in einer Unterhaltung abmeldet, wird er aufgefordert, sich erneut anzumelden, wenn Thema zu einem Knoten gelangt, der die Variable User.AccessToken
verwendet.
Erfolgspfad
Der Erfolgspfad entspricht wo User.IsLoggedIn = True
und berücksichtigt, wann sich der Benutzer erfolgreich angemeldet hat (oder bereits angemeldet war).
Wenn Sie über eine Logik verfügen, die die Variable User.AccessToken
verwendet (beispielsweise um Verbinden mithilfe eines Flows an ein Back-End-System weiterzuleiten, um Benutzerinformationen abzurufen), sollte sie unter diesem Pfad erfolgen.
Fehlerpfad
Der Fehlerpfad entspricht einer anderen Bedingung als IsLoggedIn = True
. In den meisten Fällen liegt der Fehler daran, dass sich der Benutzer nicht anmelden konnte, das falsche Kennwort verwendet oder den Anmeldevorgang abgebrochen hat.
Fügen Sie eine Logik hinzu, die Sie möglicherweise behandeln möchten. Als Beispiel haben wir Optionen für einen erneuten Versuch oder zum Eskalieren an einen Live-Agenten bereitgestellt. Passen Sie die Aktionen des Fehlerpfads an Ihr bestimmtes Szenario und Ihre Verwendung an.
Testen Ihres Themas
Stellen Sie sicher, dass Sie Testen Sie Ihre Thema mit einem realen Benutzer verwenden, der in Ihrem Identitätsanbieter konfiguriert ist. Stellen Sie sicher, dass sowohl die Anmeldepfade als auch die Pfade für fehlgeschlagene Anmeldungen geprüft werden, damit es keine Überraschungen gibt, wenn die Anmeldung Ihres Benutzers fehlschlägt oder bei der Anmeldung des Identitätsanbieters ein Fehler auftritt.