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. Nachdem sie sich angemeldet haben, werden sie nicht erneut aufgefordert, selbst wenn sie einen anderen Authentifizierungsknoten 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 mithilfe eines Benutzers, 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 Copilot konfigurieren, können Sie Authentifizierungsvariablen in Ihren Themen verwenden. In der folgenden Tabelle wird die Verfügbarkeit dieser Variablen basierend auf der von Ihnen ausgewählten Authentifizierungsoption verglichen:
Weitere Informationen zu Variablen erhalten Sie unter Mit Variablen arbeiten.
Authentifizierungvariable |
Keine Authentifizierung |
Mit Microsoft authentifizieren |
Manuell authentifizieren |
User.DisplayName |
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 |
User.IsLoggedIn |
Nicht verfügbar |
Verfügbar |
Verfügbar |
User.AccessToken |
Nicht verfügbar |
Nicht verfügbar |
Verfügbar |
SignInReason |
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 Variable User.DisplayName
enthält den Anzeigenamen des Benutzers, der im Identitätsanbieter gespeichert ist. 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 Variable User.Id
enthält die Benutzer-ID, die im Identitätsanbieter gespeichert ist. 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 Boolesche 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 Variable vom Typ Auswahl, die angibt, wann sich der Benutzer anmelden muss. Sie hat zwei mögliche Werte:
SignInRequired
gibt an, dass sich der Benutzer zu Beginn des Gesprächs mit dem Anmelden-Systemthema anmelden muss. Benutzer müssen sich anmelden muss aktiviert sein.
Initializer
zeigt an, dass ein nicht Benutzer, der nicht angemeldet ist und einen Punkt in der Unterhaltung erreicht, der Authentifizierungsvariablen verwendet, aufgefordert wird, sich anzumelden.
Authentifizierungvariablen
Wenn Ihr Copilot mit den Authentifizierungsoptionen Mit Microsoft authentifizieren oder Manuell konfiguriert ist, stehen in Ihren Themen eine Reihe 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:
Authentifizierungvariable |
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 ist 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 mit diesem Wert APIs aufrufen, die die UserID als Wert verwenden.
Dieser Feldwert ergibt sich aus dem Microsoft Entra ID sub
Anspruch. Für OAuth-Anbieter ist dieser Wert im sub
-Anspruch gespeichert. Copilot Studio extrahiert dieses Feld automatisch in die Variable.
Warnung
Die User.DisplayName
und User.Id
Variablen sind nicht garantiert, dass sie ausgefüllt werden, und es kann sich je nach Benutzerkonfiguration im Identitätsanbieter 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 User.IsLoggedIn
Variable gibt an, ob der Benutzer angemeldet ist (entweder als Ergebnis der Anmeldung oder bereits angemeldet, auch als Anmeldeerfolgspfad bezeichnet) oder nicht angemeldet ist (was zu einem Anmeldefehlerpfad führen würde).
User.IsLoggedIn
ist eine Variable vom booleschen Typ, 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 das Feld User.DisplayName
und User.Id
Variablen auszufü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 nicht in einem veröffentlichten Copilot verwendet werden, der auf einem Kanal bereitgestellt wird.
Geben Sie den gewünschten Befehl im Bereich Testbot genau so ein, als würden Sie normalerweise mit dem Copilot 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 Bereich Testbot zurücksetzen (oder Sie Änderungen an einem Thema vornehmen, die dazu führen, dass der Testbot automatischen 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 unausgefüllten Wert) ausfüllen.
Authentifizierung bei Verwendung von „Bei Microsoft authentifizieren“
Wenn Ihre Authentifizierungsoption auf Mit Microsoft authentifizieren festgelegt 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 festgelegt ist, müssen Sie einen Authentifizierungsknoten hinzufügen (auch für den Teams-Kanal).
Anmerkung
Wenn Ihre Authentifizierungsoption auf Mit Microsoft authentifizieren festgelegt ist, haben Sie nicht die Möglichkeit, Ihren Themen explizit eine Authentifizierung hinzuzufügen.
Endbenutzerauthentifizierung zu einem Thema hinzufügen
Der Knoten Authentifizieren fordert einen Benutzer auf, sich mit einer Anmeldekarte anzumelden. Nachdem ein Benutzer sich angemeldet hat, wird er auch dann nicht erneut aufgefordert, wenn er einen anderen Authentifizierungsknoten erreichen.
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. Einige Kanäle, z. B. Microsoft Teams, fordern keinen Validierungscode vom Benutzer an.
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 das Thema, 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 Authentifizierungsknoten einem anderen Thema hinzufügen, das von einer Benutzerantwort 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 übergeordneter Authentifizierungsknoten, gefolgt von Knoten für einen erfolgreichen und einen fehlerhaften Pfad.
User.AccessToken-Verwendung ohne Authentifizierungsknoten
Die Variablen User.IsLoggedIn
und User.AccessToken
sind auch dann verfügbar, wenn Sie den von der bereitgestellten Vorlage Eine Aktion aufrufen-Menüeintrag nicht verwenden. Wenn Sie die User.AccessToken
-Variable übergeben, ohne dass der Benutzer zuerst den Authentifizieren-Knoten begehen muss, wird der Benutzer in diesem Schritt aufgefordert, sich anzumelden.
Das Weitergeben der User.AccessToken
Variable kann nützlich sein, wenn Sie immer erwarten, 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 Konversation abmeldet, wird er aufgefordert, sich erneut anzumelden, wenn das Thema zu einem Knoten kommt, der die User.AccessToken
-Variable verwendet.
Erfolgspfad
Der Erfolgspfad entspricht User.IsLoggedIn = True
und berücksichtigt, wann sich der Benutzer erfolgreich angemeldet hat (oder bereits angemeldet war).
Wenn Sie eine Logik haben, die die User.AccessToken
-Variable verwendet (zum Beispiel, um eine Verbindung zu einem Back-End-System herzustellen, indem ein Flow zum Abrufen der Benutzerinformationen verwendet wird), sollte diese diesen Pfad gehen.
Fehlerpfad
Der Fehlerpfad entspricht einer anderen Bedingung als IsLoggedIn = True
. In den meisten Fällen tritt der Fehlerpfad auf, weil sich der Benutzer nicht angemeldet, das falsche Kennwort verwendet oder die Anmeldeerfahrung 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 Anmeldeerfolgs- als auch Fehlerpfade ausgeführt werden. Es gibt also keine Überraschungen, wenn sich Ihr Benutzer nicht anmeldet oder ein Fehler bei der Anmeldeerfahrung des Identitätsanbieters vorliegt.