Ajoutez l’authentification de l’utilisateur à une rubrique pour permettre à vos clients de se connecter directement dans la conversation. Vous pouvez ensuite personnaliser la conversation avec les variables utilisateur et accéder aux systèmes principaux au nom de l’utilisateur.
Vous devez configurer l’authentification de l’utilisateur avec Microsoft Entra ID avant de pouvoir utiliser l’authentification dans vos rubriques.
Suivez les instructions dans Configurer l’authentification de l’utilisateur avec Microsoft Entra ID.
Ajouter l’authentification de l’utilisateur avec le sujet système Se connecter
Lorsque vous créez un copilote, Copilot Studio ajoute automatiquement une rubrique système appelée Connexion. Pour l’utiliser, vous devez définir l’authentification de votre copilote sur Manuel et demander aux utilisateurs de se connecter. Lorsqu’un client démarre une conversation avec le copilote, la rubrique Connexion se déclenche et invite l’utilisateur à se connecter. Vous pouvez personnaliser la rubrique Connexion en fonction de votre copilote.
Important
Il est recommandé que la rubrique Se connecter ne soit utilisée que pour fournir la méthode d’authentification fournie par Copilot Studio. Elle ne doit pas être modifiée pour appeler d’autres actions ou flux, ni d’autres méthodes d’authentification.
Ouvrez votre copilote dans Copilot Studio, sélectionnez Paramètres en haut de la page, puis sélectionnez Sécurité.
Sélectionnez Authentification.
Sélectionnez Authentifier manuellement, puis sélectionnez Demander aux utilisateurs de se connecter.
Configurer tous les champs d’authentification manuelle, selon les besoins.
Sélectionnez Enregistrer.
Ajouter l’authentification de l’utilisateur avec une rubrique personnalisée
La rubrique Connexion authentifie l’utilisateur au début de la conversation. Pour permettre à l’utilisateur de se connecter ultérieurement, vous pouvez ajouter un nœud Authentifier à n’importe quelle rubrique personnalisée.
Lorsque les clients saisissent leur nom d’utilisateur et leur mot de passe, ils peuvent être invités à saisir un code de validation. Une fois connectés, ils ne sont plus invités à se connecter, même s’ils atteignent un autre Authentifier nœud.
Sélectionnez Paramètres en haut de la page, puis sélectionnez Sécurité.
Sélectionnez la vignette Authentification.
Note
Vous devez sélectionner Authentifier manuellement pour ajouter l’authentification de l’utilisateur à une rubrique personnalisée.
Décochez la case Demander aux utilisateurs de se connecter.
Configurer tous les champs d’authentification manuelle, selon les besoins.
Sélectionnez Enregistrer.
Sélectionnez Rubriques en haut de la page.
Sélectionnez Ajouter un nœud ( ) >Avancé>Authentifier.
Testez votre rubrique avec un utilisateur configuré avec votre fournisseur d’identité.
Pourboire
Il est important que vous créiez des chemins d’accès en cas de réussite et d’échec de la connexion. Une connexion peut échouer pour diverses raisons, notamment des erreurs avec l’expérience de connexion du fournisseur d’identité.
Variables d’authentification
Lorsque vous configurez l’authentification utilisateur pour votre copilote, vous pouvez utiliser des variables d’authentification dans vos rubriques. Le tableau suivant compare la disponibilité de ces variables en fonction de l’option d’authentification que vous avez choisie.
Pour plus d’informations sur les variables, voir Travailler avec des variables.
Variable d’authentification |
Aucune authentification |
Authentifier avec Microsoft |
Authentifier manuellement |
Utilisateur.DisplayName |
Indisponible |
Disponible |
Disponible |
User.FirstName |
Indisponible |
Disponible |
Disponible |
User.LastName |
Indisponible |
Disponible |
Disponible |
User.PrincipalName |
Indisponible |
Disponible |
Disponible |
User.Email |
Indisponible |
Disponible |
Disponible |
User.Id |
Indisponible |
Disponible |
Disponible |
Utilisateur.IsLoggedIn |
Indisponible |
Disponible |
Disponible |
Utilisateur.AccessToken |
Indisponible |
Indisponible |
Disponible |
Raison de la connexion |
Indisponible |
Disponible |
Disponible |
User.DisplayName
Avertissement
Il n’est pas garanti que cette variable contienne une valeur. Testez avec un utilisateur de votre fournisseur d’identité pour vous assurer que votre rubrique fonctionne correctement.
Le User.DisplayName
la variable contient le nom complet stocké dans le fournisseur d’identité. Utilisez cette variable pour saluer ou faire référence à l’utilisateur sans avoir à donner explicitement son nom au copilote, ce qui rend la conversation plus personnalisée.
Copilot Studio définit automatiquement la valeur de User.DisplayName
à partir de la revendication name
fournie par le fournisseur d’identité, tant que l’étendue profile
a été définie lors de la configuration de l’authentification manuelle. Pour plus d’informations sur l’étendue, consultez Configurer l’authentification utilisateur avec Microsoft Entra ID.
User.Id
Avertissement
Il n’est pas garanti que cette variable contienne une valeur. Testez avec un utilisateur de votre fournisseur d’identité pour vous assurer que votre rubrique fonctionne correctement.
Le User.Id
la variable contient l’ID utilisateur stocké dans le fournisseur d’identité. Utilisez cette variable dans les flux Power Automate pour appeler les API qui utilisent UserID comme valeur.
Copilot Studio définit automatiquement la valeur de User.DisplayName
en fonction de la revendication sub
fournie par le fournisseur d’identité.
User.IsLoggedIn
User.IsLoggedIn
est une variable booléen qui stocke le statut de connexion de l’utilisateur. Une valeur true
indique que l’utilisateur est connecté. Vous pouvez utiliser cette variable pour créer une logique de branchement dans vos rubriques qui recherche une connexion réussie, ou pour récupérer les informations de l’utilisateur uniquement si l’utilisateur est connecté.
User.AccessToken
Avertissement
Assurez-vous de ne transmettre la variable User.AccessToken
qu’à des sources fiables. Il contient des informations d’authentification de l’utilisateur qui, si elles étaient compromises, pourraient nuire à l’utilisateur.
La variable User.AccessToken
contient le jeton de l’utilisateur, obtenu après que celui-ci s’est connecté. Vous pouvez transmettre cette variable aux flux Power Automate afin qu’ils puissent se connecter aux API principales et récupérer les informations de l’utilisateur, ou pour entreprendre des actions au nom de l’utilisateur.
N’utilisez pas User.AccessToken
à l’intérieur des nœuds Message ou sur des flux auxquels vous ne faites pas confiance.
SignInReason
SignInReason
est une variable de type choix qui indique quand l’utilisateur doit se connecter. Elle a deux valeurs possibles :
SignInRequired
indique que l’utilisateur doit se connecter au début de la conversation en utilisant le se connecter rubrique système. Exiger que les utilisateurs se connectent doit être allumé.
Initializer
indique que lorsqu’un utilisateur n’est pas connecté et qu’il atteint un pointer dans la conversation qui utilise des variables d’authentification, il est invité à se connecter.
Variables d’authentification
Si votre copilote est configuré avec l’un ou l’autre Authentifiez-vous avec Microsoft ou Manuel options d’authentification, vous disposez d’un ensemble de variables d’authentification disponibles dans vos rubriques. Pour plus d’informations sur la configuration de l’authentification dans votre copilote, voir Configurer l’authentification de l’utilisateur dans Copilot Studio.
Le tableau suivant compare la disponibilité des variables d’authentification par option de configuration d’authentification :
Variable d’authentification |
Aucune authentification |
Authentifier avec Microsoft |
Manuel |
User.DisplayName |
❌ |
✔️ |
✔️ |
User.Id |
❌ |
✔️ |
✔️ |
User.IsLoggedIn |
❌ |
❌ |
✔️ |
User.AccessToken |
❌ |
❌ |
✔️ |
Variable UserDisplayName
La variable User.DisplayName
contient le nom complet de l’utilisateur stocké dans le fournisseur d’identité. Vous pouvez utiliser cette variable pour saluer ou faire référence à l’utilisateur final sans qu’il ait à le dire explicitement au copilote, ce qui le rend plus personnalisé.
Cette valeur de champ est obtenue à partir de la revendication name
de Microsoft Entra ID. Pour OAuth fournisseurs, cette valeur est stockée dans le name
réclamer. Copilot Studio extrait automatiquement ce champ dans la variable, alors assurez-vous que vous avez profile
dans le cadre de la configuration de votre étendue d’authentification.
Variable UserID
La variable User.Id
contient l’ID de l’utilisateur stocké dans le fournisseur d’identité. Power Automate les flux peuvent utiliser cette valeur pour appeler des API qui prennent l’UserID comme valeur.
Cette valeur de champ est obtenue à partir de la revendication sub
de Microsoft Entra ID. Pour OAuth fournisseurs, cette valeur est stockée dans le sub
réclamer. Copilot Studio extrait automatiquement ce champ dans la variable.
Avertissement
Le User.DisplayName
et User.Id
les variables ne sont pas garanties d’être remplies et peuvent être des chaînes vides en fonction de la configuration de l’utilisateur dans le fournisseur d’identité. Testez avec un utilisateur de votre fournisseur d’identification pour vous assurer que vos rubriques fonctionnent correctement, même si ces variables sont vides.
Variable IsLoggedIn
Le User.IsLoggedIn
la variable indique si l’utilisateur est connecté (soit à la suite d’une connexion, soit en étant déjà connecté, également connu sous le nom de chemin de réussite de connexion) ou non connecté (ce qui entraînerait le chemin d’échec de connexion).
User.IsLoggedIn
est une variable booléen contenant le statut connecté de l’utilisateur. Vous pouvez utiliser cette variable pour créer une logique de branchement dans vos rubriques permettant de vérifier le succès de la connexion (par exemple, dans le modèle déjà fourni dans le cadre de l’ajout du nœud Authentifier), ou pour récupérer les informations utilisateur de manière opportuniste uniquement si l’utilisateur est connecté.
Variable utilisateur.AccessToken
La variable User.AccessToken
contient le jeton de l’utilisateur, obtenu après que celui-ci s’est connecté. Vous pouvez transmettre cette variable aux flux Power Automate afin qu’ils puissent se connecter aux API principales et récupérer les informations de l’utilisateur, ou pour entreprendre des actions au nom de l’utilisateur.
Avertissement
Assurez-vous de ne transmettre la variable User.AccessToken
qu’à des sources fiables. Il contient des informations d’authentification de l’utilisateur qui, si elles étaient compromises, pourraient nuire à l’utilisateur.
N’utilisez pas User.AccessToken
à l’intérieur des nœuds Message ou sur des flux auxquels vous ne faites pas confiance.
Test des variables d’authentification
Par défaut, le Bot de test Le volet utilise le compte de l’utilisateur actuellement connecté pour renseigner le User.DisplayName
et User.Id
variables. Cependant, lorsque vous testez des rubriques qui utilisent l’authentification, vous souhaiterez peut-être utiliser d’autres valeurs pour ces variables (ou même une valeur vide).
Par exemple, vous souhaiterez peut-être tester la manière dont les caractères spéciaux sont utilisés, ou ce qui se passe si la variable est vide.
Le tableau suivant répertorie les commandes permettant de renseigner ces variables. Ces commandes s’appliquent uniquement aux Bot de test volet ; vous ne pouvez pas les utiliser dans un copilote publié déployé sur un canal.
Entrez la commande souhaitée dans le Bot de test volet comme vous le feriez si vous discutiez normalement avec le copilote. Vous recevrez un message de confirmation du copilote en cas de succès. Si votre copilote n’utilise pas l’authentification, vous recevrez une erreur.
Si vous réinitialisez le Bot de test panneau (ou vous apportez des modifications à un rubrique qui provoquent le Bot de test pour réinitialiser automatiquement), vous devrez envoyer à nouveau les commandes.
Variable |
Commande de valeur personnalisée |
Commande de valeur vierge (vide) |
User.DisplayName |
/debug set bot.UserDisplayName "Value" |
/debug set bot.UserDisplayName "" |
User.Id |
Indisponible |
/debug set bot.UserID "" |
Important
Pour des raisons de sécurité, vous ne pouvez pas renseigner le User.Id
variable avec une valeur personnalisée (autre qu’une valeur vide ou vierge).
Authentification lors de l’utilisation de "Authentifier avec Microsoft"
Si votre option d’authentification est définie sur S’authentifier avec Microsoft, vous n’avez pas besoin d’ajouter explicitement l’authentification à vos rubriques. Dans cette configuration, tout utilisateur Microsoft Teams est automatiquement connecté via ses informations d’identification Teams et ils n’a pas besoin de se connecter explicitement avec une carte d’authentification. Si votre option d’authentification est définie sur Manuel, vous devez ajouter un nœud Authentifier (même pour le canal Teams).
Note
Si votre option d’authentification est définie sur S’authentifier avec Microsoft, vous n’avez pas la possibilité d’ajouter explicitement l’authentification à vos rubriques.
Ajouter une authentification utilisateur à une rubrique
Le nœud Authentifier invite un utilisateur à se connecter avec un identifiant de connexion carte. Une fois qu’un utilisateur est connecté, il n’est plus invité à se connecter, même s’il atteint un autre nœud Authentifier .
Une fois que l’utilisateur a entré son nom d’utilisateur et son mot de passe dans l’invite (hébergée par le fournisseur d’identité), il peut être invité à entrer un code de validation, en fonction du canal. Certains canaux, tels que Microsoft Teams, ne nécessitent pas de code de validation de la part de l’utilisateur.
Lorsque votre copilote a configuré SSO, l’utilisateur ne sera pas invité à se connecter.
Pour ajouter un nœud Authenticate à votre rubrique :
Accédez à la page Rubriques pour le copilote que vous souhaitez modifier.
Ouvrez le rubrique auquel vous souhaitez ajouter le modèle d’authentification.
Note
Si votre copilote est connecté à Dynamics 365 Customer Service, le nœud d’authentification ne peut pas faire partie du chemin de conversation suivi par le copilote lorsqu’il salue initialement les utilisateurs ; sinon, la carte de connexion sera affichée deux fois. Au lieu de cela, vous devez ajouter le nœud Authenticate à un autre rubrique qui est déclenché par un utilisateur réponse.
Sélectionnez Ajouter un nœud (+) pour ajouter un nœud de message. Entrez ce que le copilote doit dire pour indiquer qu’une expérience de connexion est sur le point de se produire.
Sous le nœud de message, sélectionnez Ajouter un nœud (+), sélectionnez Appeler une action, puis sélectionnez Authentifier.
Note
Le nœud Authentifier n’est disponible que dans le sélecteur d’actions à la fin d’une arborescence de dialogue (en tant que nœud terminal). Il ne peut pas être ajouté au milieu d’un dialogue. Une fois ajouté, d’autres nœuds peuvent être ajoutés en dessous.
De nouveaux nœuds apparaissent automatiquement : un nœud élément parent Authenticate , suivi de nœuds pour un chemin de réussite et un chemin d’échec.
Utilisation de User.AccessToken sans nœud Authenticate
Les variables User.IsLoggedIn
et User.AccessToken
sont disponibles même si vous n’utilisez pas le modèle fourni par l’entrée de menu Appeler une action . Si vous transmettez la variable User.AccessToken
sans que l’utilisateur passe d’abord par le nœud Authenticate , l’utilisateur sera invité à se connecter à ce étape.
Passer la variable User.AccessToken
peut être utile si vous vous attendez toujours à ce que l’utilisateur soit connecté ou si votre utilisateur est redirigé depuis un autre rubrique. Nous vous suggérons d’utiliser le modèle fourni par l’entrée Appeler une action pour traiter les cas où l’utilisateur ne parvient pas à se connecter.
Note
Si l’utilisateur se déconnecte au milieu d’une conversation, il sera invité à se reconnecter si le rubrique arrive sur un nœud qui utilise la variable User.AccessToken
.
Chemin de succès
Le chemin de réussite correspond à l’endroit où User.IsLoggedIn = True
et tient compte du moment où l’utilisateur s’est connecté avec succès (ou était déjà connecté).
Si vous avez une logique qui utilise la variable User.AccessToken
(par exemple, pour accéder à un système back-end utilisant un flux pour récupérer les informations d’un utilisateur), elle doit passer par ce chemin.
Chemin d’échec
Le chemin d’échec correspond à toute condition autre que IsLoggedIn = True
. Dans la plupart des cas, l’échec se produit parce que l’utilisateur n’a pas réussi à se connecter, a utilisé un mot de passe incorrect ou a annulé l’expérience de connexion.
Ajoutez la logique de votre choix pour traiter ce cas. Par exemple, nous avons fourni des options de nouvelle tentative ou d’escalade vers un conseiller. Personnalisez les actions du chemin d’échec pour vos scénario et usage spécifiques.
Tester votre rubrique
Assurez-vous de tester votre rubrique en utilisant un utilisateur réel configuré dans votre fournisseur d’identité. Assurez-vous que les chemins de réussite et d’échec de connexion sont appliqués, afin qu’il n’y ait pas de surprise si votre utilisateur ne parvient pas à se connecter ou s’il y a une erreur avec l’expérience de connexion du fournisseur d’identité.