Créer un bot avec l’authentification unique
Les bots conversationnels dans Microsoft Teams effectuent des tâches automatisées répétitives initiées par les utilisateurs, telles que le service clientèle. L’utilisateur doit se connecter plusieurs fois sans authentification unique (SSO). Avec les méthodes d’authentification unique, les utilisateurs n’ont pas besoin de se connecter plusieurs fois au bot.
Un bot se comporte différemment en fonction de la conversation dans laquelle il est impliqué :
- Les bots dans les conversations de conversation de canal et de groupe nécessitent que les utilisateurs @mention accèdent au bot.
- Les bots dans une conversation en face à face ne nécessitent pas de @mention. Tous les messages envoyés par l’utilisateur acheminent vers le bot.
Ce guide pas à pas vous aide à créer un bot avec l’authentification unique. Vous verrez la sortie suivante :
Configuration requise
Veillez à installer les outils suivants et à configurer votre environnement de développement :
Installer | Pour l’utilisation... | |
---|---|---|
Microsoft Teams | Microsoft Teams pour collaborer avec toutes les personnes avec lesquelles vous travaillez via des applications de conversation, de réunions et d’appels au même endroit. | |
Visual Studio 2022 | Vous pouvez installer la version entreprise dans Visual Studio 2022 et installer les charges de travail de développement ASP.NET et web. Utilisez la dernière version. | |
Compte de développeur Microsoft 365 | Accès au compte Teams avec les autorisations appropriées pour installer une application. | |
Tunnel de développement | Les fonctionnalités de l’application Teams (bots conversationnels, extensions de message et webhooks entrants) ont besoin de connexions entrantes. Un tunnel connecte votre système de développement à Teams. Le tunnel de développement est un outil puissant pour ouvrir en toute sécurité votre localhost sur Internet et contrôler qui a accès. Le tunnel de développement est disponible dans Visual Studio 2022 version 17.7.0 ou ultérieure. ou Vous pouvez également utiliser ngrok comme tunnel pour connecter votre système de développement à Teams. Elle n’est pas obligatoire pour les applications qui incluent uniquement des onglets. Ce package est installé dans le répertoire du projet (à l’aide de npm devDependencies ). |
Remarque
Après avoir téléchargé ngrok, inscrivez-vous et installez authtoken.
Configurer votre locataire de développement Teams
Un locataire est comme un espace ou un conteneur dans lequel vous discutez, partagez des fichiers et exécutez des réunions pour votre organisation dans Teams. Vous pouvez également charger et tester l’application personnalisée.
Rechercher l’option de chargement d’application personnalisée
Après avoir créé l’application, vous devez charger votre application dans Teams sans la distribuer. Ce processus est appelé chargement d’application personnalisée. Connectez-vous à votre compte Microsoft 365 pour afficher cette option.
Remarque
Le chargement d’applications personnalisées est nécessaire pour afficher un aperçu et tester les applications dans l’environnement local Teams. Activez le chargement d’application pour afficher un aperçu et tester votre application dans Teams localement.
Avez-vous déjà un locataire et disposez-vous de l’accès administrateur ? Vérifions si vous le faites vraiment !
Pour vérifier les applications de chargement personnalisées dans Teams :
Dans le client Teams, sélectionnez l’icône Applications .
Sélectionnez Gérer vos applications.
Sélectionnez Charger une application.
Recherchez l’option Charger une application personnalisée. Si vous voyez l’option , le chargement d’applications personnalisées est activé.
Remarque
Si vous n’avez pas la possibilité de charger une application personnalisée, contactez l’administrateur Teams.
Créer un locataire développeur Teams gratuit (facultatif)
Si vous n’avez pas de compte de développeur Teams, vous pouvez l’obtenir gratuitement. Rejoignez le programme des développeurs Microsoft 365 !
Sélectionnez Rejoindre maintenant et suivez les instructions à l’écran.
Dans l’écran d’accueil, sélectionnez Configurer l’abonnement E5.
Configurez un compte d’administrateur. Une fois que vous avez terminé, l’écran suivant s’affiche.
Connectez-vous à Teams à l’aide du nouveau compte administrateur que vous venez de configurer. Vérifiez que vous disposez de l’option Charger une application personnalisée dans Teams.
Configurer l’environnement local
Ouvrez Microsoft-Teams-Samples.
Sélectionnez Code.
Dans le menu déroulant, sélectionnez Ouvrir avec GitHub Desktop.
Sélectionnez Cloner.
Inscrire l’application Microsoft Entra
Les étapes suivantes vous aident à créer et à inscrire votre bot dans le portail Azure :
- Créez et inscrivez votre application Azure.
- Créez une clé secrète client pour activer l’authentification unique du bot.
- Ajoutez un canal Teams pour déployer le bot.
- Créez un tunnel vers les points de terminaison de votre serveur web à l’aide du tunnel de développement (recommandé) ou de ngrok.
- Ajoutez un point de terminaison de messagerie au tunnel de développement que vous avez créé.
Ajouter une inscription d’application
Accédez au portail Azure.
Sélectionner les inscriptions d’applications.
Sélectionnez + Nouvelle inscription.
Entrez le nom de votre application.
Sélectionnez Comptes dans n’importe quel annuaire organisationnel (n’importe quel locataire d’ID Microsoft Entra - Multilocataire).
Sélectionner Inscription.
Votre application est inscrite dans l’ID Microsoft Entra. La page vue d’ensemble de l’application s’affiche.
Remarque
Enregistrez l’ID d’application à partir de l’ID d’application (client) et de l’ID d’annuaire (locataire) pour une utilisation ultérieure.
Créer un tunnel
Ouvrez Visual Studio.
Sélectionnez Créer un projet.
Dans la zone de recherche, entrez ASP.NET. Dans les résultats de la recherche, sélectionnez ASP.NET Core Web App.
Sélectionnez Suivant.
Entrez Nom du projet , puis sélectionnez Suivant.
Sélectionnez Créer.
Une fenêtre de vue d’ensemble s’affiche.
Dans la liste déroulante de débogage, sélectionnez Dev Tunnels (aucun tunnel actif)>Créer un tunnel....
Une fenêtre contextuelle apparaît.
Mettez à jour les détails suivants dans la fenêtre contextuelle :
- Compte : entrez un compte Microsoft ou GitHub.
- Nom : entrez un nom pour votre tunnel.
- Type de tunnel : dans la liste déroulante, sélectionnez Temporaire.
- Accès : dans la liste déroulante, sélectionnez Public.
Sélectionnez OK.
Une fenêtre contextuelle s’affiche pour indiquer que le tunnel de développement a été créé avec succès.
Sélectionnez OK.
Vous trouverez le tunnel que vous avez créé dans la liste déroulante de débogage comme suit :
Sélectionnez F5 pour exécuter l’application en mode débogage.
Si une boîte de dialogue Avertissement de sécurité s’affiche, sélectionnez Oui.
Une fenêtre contextuelle apparaît.
Cliquez sur Continuer.
La page d’accueil du tunnel de développement s’ouvre dans une nouvelle fenêtre de navigateur et le tunnel de développement est maintenant actif.
Accédez à Visual Studio, puis sélectionnez Afficher la > sortie.
Dans le menu déroulant Console de sortie, sélectionnez Tunnels de développement.
La console de sortie affiche l’URL du tunnel de développement.
Ajouter une authentification web
Dans le volet gauche, sous Gérer, sélectionnez Authentification.
Sélectionnez Ajouter une plateforme>web.
Entrez l’URI de redirection de votre application en ajoutant
auth-end
au nom de domaine complet. Par exemple :https://your-devtunnel-domain/auth-end
ouhttps://your-ngrok-domain/auth-end
.Sous Octroi implicite et flux hybrides, cochez les cases Jetons d’accès et jetons d’ID .
Sélectionnez Configurer.
Sous Web, sélectionnez Ajouter un URI.
Entrez
https://token.botframework.com/.auth/web/redirect
.Sélectionnez Enregistrer.
Créer une clé secrète client
Dans le volet gauche, sous Gérer, sélectionnez Certificats & secrets.
Sous Clés secrètes client, sélectionnez + Nouvelle clé secrète client.
La fenêtre Ajouter une clé secrète client s’affiche.
Entrez Description.
Sélectionnez Ajouter.
Sous Valeur, sélectionnez Copier dans le Presse-papiers pour enregistrer la valeur de clé secrète client en vue d’une utilisation ultérieure.
Ajouter des autorisations d'API
Dans le volet gauche, sélectionnez Autorisations d’API.
Sélectionnez + Ajouter une autorisation.
Sélectionnez Microsoft Graph.
Sélectionnez Autorisations déléguées.
Sélectionnez User>User.Read.
Sélectionnez Ajouter des autorisations.
Remarque
Si une application ne reçoit pas le consentement de l’administrateur informatique, les utilisateurs doivent fournir le consentement la première fois qu’ils utilisent une application. Les utilisateurs doivent donner leur consentement aux autorisations d’API uniquement si l’application Microsoft Entra est inscrite dans un autre locataire.
URI de l’ID d’application
Dans le volet gauche, sous Gérer, sélectionnez Exposer une API.
En regard de URI d’ID d’application, sélectionnez Ajouter.
Mettez à jour l’URI de l’ID d’application au
api://botid-{AppID}
format et sélectionnez Enregistrer.
Ajouter une étendue
Dans le volet gauche, sous Gérer, sélectionnez Exposer une API.
Sélectionnez + Ajouter une étendue.
Entrez access_as_user comme nom de l’étendue.
Sous Qui peut donner son consentement ?, sélectionnez Administrateurs et utilisateurs.
Mettez à jour les valeurs du reste des champs comme suit :
Entrez Teams peut accéder au profil de l’utilisateur en tant que nom d’affichage du consentement administrateur.
Entrez Autoriser Teams à appeler les API web de l’application en tant qu’utilisateur actuel comme description du consentement administrateur.
Entrez Teams peut accéder au profil utilisateur et effectuer des demandes au nom de l’utilisateur en tant que nom d’affichage du consentement de l’utilisateur.
Entrez Autoriser Teams à appeler les API de cette application avec les mêmes droits que l’utilisateur comme description du consentement de l’utilisateur.
Vérifiez que State est défini comme Enabled.
Sélectionnez Ajouter une étendue.
L’image suivante montre les champs et les valeurs :
Remarque
Le nom de l’étendue doit correspondre à l’URI d’ID d’application avec
/access_as_user
ajouté à la fin.
Ajouter une application cliente
Dans le volet gauche, sous Gérer, sélectionnez Exposer une API.
Sous Applications clientes autorisées, identifiez les applications que vous souhaitez autoriser pour l’application web de votre application.
Sélectionnez + Ajouter une application cliente.
Ajoutez Teams mobile ou de bureau et l’application web Teams.
Pour Teams mobile ou de bureau : entrez l’ID client sous la forme
1fec8e78-bce4-4aaf-ab1b-5451cc387264
.Pour le web Teams : entrez l’ID client en tant que
5e3ce6c0-2b1f-4285-8d4b-75ee78787346
.
Cochez la case Étendues autorisées .
Sélectionnez Ajouter une application.
L’image suivante affiche l’ID client :
Mise à jour du manifeste
Dans le volet gauche, sélectionnez Manifeste.
Définissez la valeur de sur
accessTokenAcceptedVersion
2
et sélectionnez Enregistrer.
Créer votre bot
Créer une ressource de bot Azure
Remarque
Si vous testez déjà votre bot dans Teams, déconnectez-vous de cette application et de Teams. Pour voir cette modification, reconnectez-vous.
Accéder à l’Accueil
Sélectionnez + Créer une ressource.
Dans la zone de recherche, entrez Azure Bot.
Ensuite, sélectionnez Entrée.
Sélectionnez Azure Bot.
Sélectionnez Créer.
Entrez le nom du bot dans Descripteur de bot.
Sélectionnez votre abonnement dans la liste déroulante.
Sélectionnez votre groupe de ressources dans la liste déroulante.
Si vous n’avez pas de groupe de ressources existant, vous pouvez en créer un. Pour créer un groupe de ressources, procédez comme suit :
- Sélectionnez Créer.
- Entrez le nom de la ressource et sélectionnez OK.
- Sélectionnez un emplacement dans la liste déroulante Nouvel emplacement du groupe de ressources .
Sous Tarification, sélectionnez Modifier le plan.
Sélectionnez FO Free>Select.
Sous ID d’application Microsoft, sélectionnez Type d’applicationcomme multilocataire.
Dans Type de création, sélectionnez Utiliser l’inscription d’application existante.
Entrez l’ID d’application.
Remarque
Vous ne pouvez pas créer plusieurs bots avec le même ID d’application Microsoft.
Sélectionnez Examiner et créer.
Une fois la validation réussie, sélectionnez Créer.
L’approvisionnement du bot prend quelques minutes.
Sélectionnez Accéder à la ressource.
Vous avez créé votre bot Azure.
Ajouter un canal Teams
Dans le volet gauche, sélectionnez Canaux.
Sous Canaux disponibles, sélectionnez Microsoft Teams.
Cochez la case pour accepter les conditions d’utilisation du service.
Sélectionnez Accepter.
Sélectionnez Appliquer.
Pour ajouter un point de terminaison de messagerie
Utilisez l’URL du tunnel de développement dans la console de sortie comme point de terminaison de messagerie.
Dans le volet gauche, sous Paramètres, sélectionnez Configuration.
Mettez à jour le point de terminaison de messagerie au format
https://your-devtunnel-domain/api/messages
.Sélectionnez Appliquer.
Vous avez correctement configuré un bot dans Azure Bot Service.
Remarque
Si la clé d’instrumentation Application Insights affiche une erreur, mettez à jour avec l’ID d’application.
Ajouter des paramètres de connexion OAuth
Dans le volet gauche, sélectionnez Configuration.
Sélectionnez le bouton Ajouter des paramètres de connexion OAuth.
Sous Nouveau paramètre de connexion, mettez à jour les informations suivantes :
- Nom : entrez un nom pour votre nouveau paramètre de connexion. Vous pouvez utiliser le nom dans les paramètres de votre code de service de bot.
- Fournisseur de services : dans la liste déroulante, sélectionnez Azure Active Directory v2.
- ID client : Mettez à jour votre ID d’application Microsoft.
- Clé secrète client : Mettez à jour la valeur des secrets client.
- URL d’échange de jetons : mettez à jour l’URI de l’ID d’application.
- ID de locataire : entrez Commun.
- Étendues : entrez User.Read.
Sélectionnez Enregistrer.
Configurer les paramètres d’application et les fichiers manifestes
Accédez au fichier appsettings.json dans le dépôt cloné.
Ouvrez le fichier appsettings.json et mettez à jour les informations suivantes :
- Définissez sur
"MicrosoftAppId"
l’ID d’application Microsoft de votre bot. - Définissez sur
"MicrosoftAppPassword"
la valeur de l’ID de clé secrète client de votre bot. - Définissez
ConnectionName
en tant que nom de connexion OAuth. - Définissez
"MicrosoftAppType"
sur Multi-locataire. - Définissez sur
"MicrosoftAppTenantId"
commun.
- Définissez sur
Accédez au fichier manifest.json dans le dépôt cloné.
Ouvrez le fichier manifest.json et mettez à jour les modifications suivantes :
- Remplacez toutes les occurrences de par votre ID d’application
"{TODO: MicrosoftAppId}"
Microsoft. - Définissez sur
"<<domain-name>>"
votre domaine ngrok ou dev tunnel.
- Remplacez toutes les occurrences de par votre ID d’application
Générer et exécuter le service
Ouvrez Visual Studio.
Accédez à Fichier>Ouvrir>le projet/la solution....
Dans le dossier csharp_dotnetcore bot-conversation-sso-quickstart>, sélectionnez BotConversationSsoQuickstart.sln fichier.
Sélectionnez F5 pour exécuter le projet.
Si une boîte de dialogue Avertissement de sécurité s’affiche, sélectionnez Oui.
Une page web s’ouvre avec un message Votre bot est prêt !.
Dépannage
Si vous obtenez l’erreur de package Impossible de trouver , procédez comme suit :
- Accédez à Outils Paramètres> duGestionnaire> depackage NuGet.
- Dans la fenêtre Options qui s’affiche, sélectionnezSources de packagedu Gestionnaire> de package NuGet.
- Sélectionnez Ajouter.
- Dans Nom, entrez
nuget.org
et dans Source, entrezhttps://api.nuget.org/v3/index.json
. - Sélectionnez Mettre à jour et OK.
- Régénérez votre projet.
Charger le bot dans Teams
Dans votre dépôt cloné, accédez à Microsoft-Teams-Samples>samples>bot-conversation-sso-quickstart>csharp_dotnetcore>BotConversationSsoQuickstart.
Créez un fichier .zip avec les fichiers suivants présents dans le dossier appPackage :
- manifest.json
- outline.png
- color.png
Accédez à Microsoft Teams.
Dans le client Teams, sélectionnez Applications.
Sélectionnez Gérer vos applications.
Sélectionnez Charger une application.
Recherchez l’option Charger une application personnalisée.
Sélectionnez Ouvrir pour charger le fichier .zip que vous avez créé dans le dossier Manifeste .
Sélectionnez Ajouter pour ajouter le bot à votre conversation.
Vous pouvez interagir avec le bot en lui envoyant un message. Le bot échange un jeton d’authentification unique et appelle l’API Graph en votre nom. Il vous maintient connecté, sauf si vous envoyez un message pour vous déconnecter.
Envoyez un message au bot. Le bot de conversation demande le consentement pour la première fois.
Pour le bureau : sélectionnez Continuer pour accorder des autorisations au client Teams pour accéder au bot.
Remarque
Vous avez maintenant configuré l’authentification unique avec votre application de bot et c’est la seule fois que vous devez donner votre consentement.
Pour les appareils mobiles : sélectionnez Accepter.
Remarque
Vous avez maintenant configuré l’authentification unique avec votre application bot sur mobile, et c’est la seule fois que vous devrez donner votre consentement.
Relever le défi
Tu as trouvé quelque chose comme ça ?
Félicitations !
Vous avez terminé le tutoriel pour commencer à créer un bot avec l’authentification unique.
Vous avez un défi avec cette section ? Si c'est le cas, faites-nous part de vos commentaires pour que nous puissions l'améliorer.