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 la vignette Authentification.
Sélectionnez Authentifier manuellement, puis sélectionnez Demander aux utilisateurs de se connecter.
Configurez 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 que les utilisateurs se sont connectés, l’invite ne s’affiche plus, même s’il atteint un autre nœud Authentifier.
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.
Configurez 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 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 diverses raisons, notamment des erreurs avec l’expérience de connexion du fournisseur d’identité.
Variables d’authentification
Lorsque vous avez configuré 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.
Variable d’authentification |
Aucune authentification |
Uniquement pour Teams et Power Apps |
Manuel |
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 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.
La variable User.Id
contient l’ID de l’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 le sujet système Se connecter.
Demander aux utilisateurs de se connecter doit être activée.
Initializer
indique que si l’utilisateur ne s’est pas encore connecté et qu’il atteint un point de la conversation qui utilise des variables d’authentification, il sera invité à se connecter.
Variables d’authentification
Si votre copilote est configuré avec les options d’authentification Uniquement pour Teams et Power Apps 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 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 |
Uniquement pour Teams et Power Apps |
Manuel |
UserDisplayName |
❌ |
✔️ |
✔️ |
UserID |
❌ |
✔️ |
✔️ |
IsLoggedIn |
❌ |
❌ |
✔️ |
AuthToken |
❌ |
❌ |
✔️ |
Variable UserDisplayName
La variable UserDisplayName
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 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 UserID
contient l’ID de l’utilisateur stocké dans le fournisseur d’identité. Cette valeur peut être utilisée par les flux Power Automate 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 UserDisplayName
et UserID
n’ont pas la garantie d’être remplies et peuvent ê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 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).
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 AuthToken
La variable AuthToken
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 AuthToken
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 AuthToken
à 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 Tester le bot utilisera le compte de l’utilisateur actuellement connecté pour renseigner les variables UserDisplayName
et UserID
. 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.
Cela ne s’applique qu’au volet Tester le bot ; vous ne pouvez pas utiliser les commandes décrites dans cette section dans un copilote publié déployé sur un canal.
Le tableau suivant répertorie les commandes qui rempliront ces variables. Entrez la commande dans le volet Tester le bot, 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 volet Tester le bot (ou vous apportez des modifications à une rubrique qui provoquent la réinitialisation automatique du Tester le bot), vous devrez renvoyer les commandes.
Variable |
Commande de valeur personnalisée |
Commande de valeur vierge (vide) |
UserDisplayName |
/debug set bot.UserDisplayName "Value" |
/debug set bot.UserDisplayName "" |
UserID |
Indisponible |
/debug set bot.UserID "" |
Important
Vous ne pouvez pas renseigner la variable UserID
avec une valeur personnalisée (autre qu’une valeur vierge ou vide) pour des raisons de sécurité.
Authentification avec la configuration « Uniquement pour Teams et Power Apps »
Si votre option d’authentification est définie sur Uniquement pour Teams et Power Apps, 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 devrez ajouter le nœud d’authentification (même pour le canal Teams).
Note
Si votre option d’authentification est définie sur Uniquement pour Teams et Power Apps, vous ne disposez pas de l’option qui vous permet d’ajouter explicitement l’authentification à vos sujets.
Ajouter une authentification utilisateur à une rubrique
Le nœud Authentifier invitera un utilisateur à se connecter avec une carte de connexion. Si un utilisateur est déjà connecté, il ne sera plus invité, même s’il atteint un autre nœud d’authentification.
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, n’exigent pas que l’utilisateur entre un code de validation.
Lorsque votre copilote a configuré SSO, l’utilisateur ne sera pas invité à se connecter.
Pour ajouter un nœud d’authentification à votre sujet :
Accédez à la page Rubriques pour le copilote que vous souhaitez modifier.
Ouvrez le Canevas de création de la rubrique auquel vous souhaitez ajouter le modèle d’authentification utilisateur.
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 d’authentification à un autre sujet qui est déclenché par une réponse de l’utilisateur.
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.
Une fois la sélection effectuée, un certain nombre de nouveaux nœuds seront ajoutés automatiquement. Ces nœuds incluent un nœud Authentifier parent, suivi des nœuds pour un chemin de réussite et un chemin d’échec.
Utilisation de la variable AuthToken sans nœud d’authentification
Les variables IsLoggedIn
et AuthToken
sont disponibles même si vous n’utilisez pas le modèle fourni par l’option de menu Appeler une action. Si vous passez la variable AuthToken
sans que l’utilisateur soit d’abord passé par le nœud Authentifier, l’utilisateur sera invité à se connecter à cette étape.
Transmettre la variable AuthToken
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.
Note
Si l’utilisateur se déconnecte au milieu d’une conversation, il sera invité à se reconnecter si rubrique arrive sur un nœud qui utilise la variable AuthToken
.
Chemin de succès
Le chemin de succès équivaut à l’endroit où IsLoggedIn = True
et entre en jeu lorsque l’utilisateur s’est connecté avec succès (ou était déjà connecté).
Si vous avez une logique qui utilise la variable AuthToken
(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, 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 de pratiquer les chemins de succès et d’échec de la connexion afin qu’il n’y ait aucune 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é.