Authentification unique pour les onglets et l’extension de message
L’authentification unique Microsoft Entra (Microsoft Entra SSO) permet d’authentifier les utilisateurs dans Teams.
Principaux aspects de l’authentification unique Microsoft Entra :
- Permet à l’utilisateur de se connecter automatiquement après la première connexion.
- Permet à l’utilisateur de se connecter à d’autres appareils sans entrer à nouveau d’informations d’identification.
- Obtient le jeton pour l’utilisateur connecté.
Ce guide pas à pas vous aide à créer des onglets et des extensions de message permettant l’authentification unique Microsoft Entra. 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. | |
Compte de développeur Microsoft 365 | Accès au compte Teams avec les autorisations appropriées pour installer une application. | |
SDK .NET Core | Liaisons personnalisées pour le débogage local et les déploiements d’applications Azure Functions. Si vous n’avez pas installé la dernière version, installez la version portable. | |
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. | |
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 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.
Ajouter un URI d’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
api://your-devtunnel-domain/botid-{AppID}
au format ou etapi://your-ngrok-domain/botid-{AppID}
sélectionnez Enregistrer.L’image suivante montre le nom de domaine :
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 de l’application
Accédez au fichier appsettings.json dans le dépôt cloné.
Ouvrez le fichier appsettings.json dans Visual Studio.
Mettez à jour les informations suivantes :
- Remplacez par
"MicrosoftAppId"
l’ID d’application Microsoft de votre bot. - Remplacez par
"MicrosoftAppPassword"
la valeur des secrets clients de votre bot. - Remplacez par
"SiteUrl"
votre URL ngrok. - Remplacez par
"ConnectionName"
le nom du paramètre de connexion OAuth. - Remplacez par
"TenantId"
l’ID de locataire du locataire où l’application est utilisée. - Remplacez par
"ClientId"
l’ID d’application Microsoft de votre bot. - Remplacez par
"AppSecret"
la valeur des secrets clients de votre bot. - Remplacez
"ApplicationIdURI"
sous la forme .api://*******.ngrok.io/botid-{AppID}
- Remplacez par
Configurer le fichier manifeste
Accédez au fichier manifest.json dans le dépôt cloné.
Ouvrez le fichier manifest.json dans Visual Studio et apportez les modifications suivantes :
Remplacez par
DOMAIN-NAME
votre URL ngrok.Remplacez par
YOUR-MICROSOFT-APP-ID
l’ID d’application Microsoft de votre bot.Remarque
Selon le scénario
[YOUR-MICROSOFT-APP-ID]
et[DOMAIN-NAME]
peut se produire plusieurs fois.Remplacez par
resource
api://*******.ngrok.io/botid-{AppID}
.
Générer et exécuter le service
Pour générer et exécuter le service, utilisez Visual Studio ou la ligne de commande.
Ouvrez Visual Studio.
Sélectionnez Fichier>Ouvrir le>projet/la solution....
Dans le dossier csharp , sélectionnez Exemple d’authentification unique d’application.fichier csproj .
Appuyez sur F5 pour exécuter le projet.
Sélectionnez Oui si la boîte de dialogue suivante s’affiche :
Une page web s’affiche avec un message Votre bot est prêt !
Charger l’application SSO dans Teams
Dans votre dépôt cloné, accédez à csharp>App SSO Sample>TeamsAppManifest.
Créez un fichier .zip avec les fichiers suivants présents dans le dossier Manifeste :
- manifest.json
- icon-outline.png
- icon-color.png
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 ne trouvez pas l’option de charger une application personnalisée, contactez votre administrateur Teams.
Sélectionnez Ouvrir pour charger le fichier .zip que vous avez créé dans le dossier Manifeste .
Sélectionnez Ajouter.
Envoyez un message au bot.
Le bot effectue l’authentification unique et affiche la carte de profil avec l’invite d’options pour afficher le jeton.
Sélectionnez Oui pour afficher le jeton ou Non pour continuer la conversation.
Si l’authentification unique n’est pas effectuée, le bot exécute la méthode d’authentification par défaut pour votre onglet.
Pour vous connecter, si l’authentification unique n’est pas effectuée :
Dans le volet gauche de Teams, sélectionnez Autres applications ajoutées (●●●).
Sélectionnez votre nouvelle application d’authentification unique.
Sélectionnez Se connecter.
Entrez vos informations d’identification dans la fenêtre Connexion , puis sélectionnez Suivant.
Sélectionnez Accepter.
Sélectionnez votre profil sous la zone de recherche. Vous verrez la sortie suivante :
Envoyer
https://profile.botframework.com
à l’application pour obtenir une carte de profil.
Relever le défi
Avez-vous trouvé une sortie comme celle-ci ?
Félicitations !
Vous avez terminé le tutoriel pour commencer à utiliser l’authentification unique pour l’application d’extension de tabulation et de message.
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.