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 assistant, Copilot Studio ajoute automatiquement une rubrique système appelée Connexion. Pour l’utiliser, vous devez définir l’authentification de votre agent sur manuelle et demander aux utilisateurs de se connecter. Lorsqu’un client démarre une conversation avec l’agent, la rubrique Connexion se déclenche et invite l’utilisateur à se connecter. Vous pouvez personnaliser la rubrique Connexion en fonction de votre agent.
Important
Nous recommandons d’utiliser uniquement la rubrique Connexion 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 assistant dans Copilot Studio et 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.
-
Configurez tous les champs d’authentification manuelle, selon les besoins.
- Cliquez sur 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, même s’ils atteignent un autre nœud d’Authentification.
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.
Sélectionnez S’authentifier manuellement et désactivez la case à cocher Exiger que les utilisateurs se connectent .
Configurez tous les champs d’authentification manuelle, selon les besoins.
Cliquez sur Enregistrer.
Sélectionnez Rubriques en haut de la page.
Sélectionnez Ajouter un nœud (
) >Avancé>Authentification.
Testez votre rubrique en utilisant 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 de nombreuses 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 agent, 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 Vue d’ensemble des variables.
| Variable d’authentification |
Aucune authentification |
Authentifier avec Microsoft |
Authentifier manuellement |
|
User.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 |
|
User.IsLoggedIn |
Indisponible |
Disponible |
Disponible |
|
User.AccessToken |
Indisponible |
Indisponible |
Disponible |
|
SignInReason |
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.
La variable User.DisplayName 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 à l’agent, 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.
La variable User.Id 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éenne 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 la rubrique système Se connecter.
Demander aux utilisateurs de se connecter doit être activé.
Initializer indique que lorsqu’un utilisateur n’est pas connecté et qu’il atteint un point de la conversation qui utilise des variables d’authentification, il est invité à se connecter.
Variables d’authentification
Si votre agent est configuré avec les options d’authentification Authentifier avec Microsoft ou Manuel, 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 assistant, consultez Configurer l’authentification 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 au client sans qu’il ait à le dire explicitement à l’agent, ce qui le rend plus personnalisé.
Cette valeur de champ est obtenue à partir de la revendication name de Microsoft Entra ID. Pour les fournisseurs OAuth, il s’agit de la valeur stockée dans la revendication name. 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é. Les flux Power Automate peuvent utiliser cette valeur pour appeler des API qui prennent le UserID comme valeur.
Cette valeur de champ est obtenue à partir de la revendication sub de Microsoft Entra ID. Pour les fournisseurs OAuth, il s’agit de la valeur stockée dans la revendication sub. Copilot Studio extrait automatiquement ce champ dans la variable.
Avertissement
Les variables User.DisplayName et User.Id pourraient ne pas être remplies et pourraient à la place être des chaînes vides selon 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
La variable User.IsLoggedIn indique si l’utilisateur est connecté (à la suite d’une connexion ou parce qu’il était déjà connecté, également appelé chemin de succès de la connexion) ou déconnecté (ce qui génère le chemin d’échec de la connexion).
User.IsLoggedIn est une variable booléenne contenant le statut de connexion 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 User.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 volet Bot de test utilise le compte de l’utilisateur actuellement connecté pour renseigner les variables User.DisplayName et User.Id. 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 pour renseigner ces variables. Ces commandes ne s’appliquent qu’au volet Bot de test ; vous ne pouvez pas les utiliser dans un agent publié déployé sur un canal.
Entrez la commande souhaitée dans le volet Bot de test, tout comme vous le feriez si vous discutiez normalement avec l’agent. Vous recevez un message de confirmation de l’agent si vous réussissez. Si votre agent n’utilise pas l’authentification, vous recevez une erreur.
Si vous réinitialisez le volet Du bot de test (ou que vous apportez des modifications à une rubrique qui entraîne la réinitialisation automatique du bot de test ), vous devez renvoyer 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 la variable User.Id avec une valeur personnalisée (autre qu’une valeur vierge ou vide).
Authentification lors de l’utilisation de « Authentifier avec Microsoft »
Si votre option d’authentification est définie sur 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).
Remarque
Si votre option d’authentification est définie sur S’authentifier auprès de Microsoft, vous ne pouvez pas ajouter explicitement l’authentification à vos rubriques.
Ajouter une authentification utilisateur à une rubrique
Le nœud Authentifier invite un utilisateur à se connecter avec une carte de connexion. 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 un code de validation de l’utilisateur.
Lorsque SSO est configuré pour votre agent, l'utilisateur n'est pas invité à s'identifier.
Pour ajouter un nœud Authentifier à votre rubrique :
Accédez à la page Rubriques pour l’agent que vous souhaitez modifier.
Ouvrez la rubrique à laquelle vous souhaitez ajouter le modèle d’authentification.
Remarque
Si votre agent est connecté à Dynamics 365 Customer Service, le nœud d’authentification ne peut pas faire partie du chemin de conversation suivi par l’agent lors du message d’accueil initial des utilisateurs ; sinon, la carte de connexion est affichée deux fois. Au lieu de cela, vous devez ajouter le nœud Authentifier à une autre rubrique qui est déclenchée par une réponse de l’utilisateur.
Sélectionnez Ajouter un nœud (+) pour ajouter un nœud de message. Entrez ce que l’agent 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.
Remarque
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.
Les nouveaux nœuds s’affichent automatiquement : un nœud Authentifier parent, suivi des nœuds pour un chemin de réussite et un chemin d’échec.
Utilisation de User.AccessToken sans nœud d’authentification
Les variables User.IsLoggedIn et User.AccessToken sont disponibles même si vous n’utilisez pas le modèle fourni par l’option de menu Appeler une action. Si vous transmettez la User.AccessToken variable sans que l’utilisateur passe d’abord par le nœud d’authentification , l’utilisateur est invité à se connecter à cette étape.
Transmettre la variable User.AccessToken peut être utile si vous prévoyez toujours que l’utilisateur soit connecté, ou si votre utilisateur est redirigé à partir d’une 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.
Remarque
Si l’utilisateur se déconnecte au milieu d’une conversation, il est invité à se reconnecter si la rubrique vient à un nœud qui utilise la User.AccessToken variable.
Chemin de succès
Le chemin de réussite correspond à lorsque User.IsLoggedIn = True et prend en compte le moment où l'utilisateur est correctement connecté.
Si vous avez une logique qui utilise la variable User.AccessToken (par exemple, pour se connecter à un système principal à l’aide d’un flux pour récupérer les informations d’un utilisateur), elle doit suivre ce chemin.
Chemin d’échec
Le chemin d’échec correspond à toute condition autre que IsLoggedIn = True. Dans la plupart des cas, le chemin d’é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, il existe des options de nouvelle tentative ou d’escalade vers un agent en direct. 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é. Vérifiez que les voies de réussite et d'échec d'authentification sont exercées. Par conséquent, il n’y a aucune surprise si votre utilisateur ne parvient pas à se connecter ou qu’il y a une erreur avec l’expérience de connexion du fournisseur d’identité.