Activer l’authentification unique (SSO) pour l’application d’onglet

Avec l’authentification unique (SSO) dans Teams, les utilisateurs de l’application ont l’avantage d’utiliser Teams pour accéder aux applications d’onglet. Après s’être connectés à Teams à l’aide de Microsoft ou d’un compte Microsoft 365, les utilisateurs de l’application peuvent utiliser votre application sans avoir à se reconnecter. Votre application est disponible pour les utilisateurs de l’application sur n’importe quel appareil disposant de l’accès accordé via Microsoft Entra ID.

Voici ce que vous allez apprendre dans cette section :

  1. Expérience utilisateur de l’authentification unique : Teams offre aux utilisateurs de votre application une véritable expérience d’authentification unique. Les utilisateurs de l’application peuvent utiliser votre application sans se reconnecter.
  2. Authentification unique dans Teams au moment de l’exécution : votre application onglet interagit avec Microsoft Entra ID lors de l’exécution pour l’authentification et l’autorisation à usage unique pour les utilisateurs de votre application.
  3. Activer l’authentification unique pour votre application d’onglet : implémentez les tâches impliquées pour activer l’authentification unique dans votre application d’onglet.

Expérience utilisateur de l’authentification unique dans Teams

Les utilisateurs de l’application se connectent à Teams à l’aide d’un compte Microsoft personnel ou d’un compte Microsoft 365. Vous pouvez tirer parti de ce compte et utiliser l’authentification unique pour authentifier et autoriser les utilisateurs de l’application.

Capture d’écran montrant l’expérience utilisateur de l’authentification unique dans une application d’onglet Teams.

  • Teams authentifie et stocke l’identité de son utilisateur d’application.
  • Votre application onglet utilise l’identité stockée de l’utilisateur de l’application qui est déjà validé par Teams.
  • L’utilisateur de l’application doit donner son consentement à Teams pour utiliser l’identité pour accéder à votre application d’onglet.
  • L’utilisateur de l’application peut accéder à l’application sur le web, le bureau ou le client mobile.

Vous pouvez afficher ici un exemple d’expérience utilisateur avec l’authentification unique dans une application d’onglet :

La représentation graphique montre l’expérience utilisateur de l’authentification unique dans l’application d’onglet.

Améliorer l’expérience utilisateur avec l’authentification unique

Voici ce que les utilisateurs de votre application obtiennent avec l’expérience d’authentification unique :

  • Teams obtient le jeton d’accès pour l’utilisateur actuel de l’application à partir de Microsoft Entra ID. Cette interaction avec Microsoft Entra ID est invisible pour l’utilisateur de l’application. Cela se traduit par l’obtention de l’accès à l’application sans avoir à quitter l’environnement Teams.
  • Un utilisateur d’application doit donner son consentement uniquement dans un environnement multilocataire. Si l’utilisateur de l’application et l’application résident dans le même locataire, l’utilisateur de l’application n’a pas besoin de donner son consentement pour l’utilisation de l’application.
  • Après avoir donné son consentement à Teams la première fois, l’utilisateur de l’application peut utiliser votre application sans autre besoin de consentement, même sur n’importe quel autre appareil. C’est pourquoi il offre une meilleure expérience utilisateur.
    • L’administrateur client peut également donner son consentement pour le compte des utilisateurs de l’application. Dans ce scénario, lorsque l’administrateur du locataire consent pour les utilisateurs de l’application dans le locataire, les utilisateurs de l’application n’ont pas besoin d’être invités à donner leur consentement. Cela signifie que les utilisateurs de l’application ne voient pas les boîtes de dialogue de consentement et peuvent accéder à l’application en toute transparence.
  • Le jeton d’accès est pré-extrait par Teams pour améliorer les performances et le temps de chargement de l’application dans l’environnement Teams.
  • Les utilisateurs de l’application n’ont pas besoin de mémoriser ou d’enregistrer plusieurs mots de passe pour accéder aux applications et les utiliser dans l’environnement Teams.

Voyons maintenant ce qui se passe sur le serveur principal pendant l’exécution pour obtenir une expérience d’authentification unique dans Teams.

Authentification unique dans Teams au moment de l’exécution

Obtenez l’authentification unique dans une application d’onglet en obtenant un jeton d’accès pour l’utilisateur de l’application Teams actuellement connecté. Ce processus implique le client et le serveur de l’application d’onglet, le client Teams et Microsoft Entra ID. Au cours de cette interaction, l’utilisateur de l’application doit donner son consentement pour l’utilisation de l’identité Teams afin d’obtenir le jeton d’accès dans un environnement multilocataire.

L’image suivante montre le fonctionnement de l’authentification unique lorsqu’un utilisateur d’application Teams tente d’accéder à l’application d’onglet :

Capture d’écran montrant l’onglet Flux du processus d’authentification unique et son fonctionnement.

# Interaction Causes
1 Application onglet → Teams Client L’application tabulation effectue un appel JavaScript à getAuthToken(), qui indique à Teams d’obtenir un jeton d’accès.
2 → Microsoft Entra ID client Teams Teams demande Microsoft Entra point de terminaison pour le jeton d’accès de l’utilisateur d’application actuel en fonction de l’identité Teams.
3 Microsoft Entra ID → formulaire de consentement Si l’utilisateur actuel de l’application utilise votre application d’onglet pour la première fois, Teams affiche l’invite de demande de consentement, si l’application doit accéder à certaines données protégées. L’utilisateur de l’application (ou l’administrateur) doit donner son consentement à Teams pour utiliser l’identité Teams de l’utilisateur de l’application afin d’obtenir un jeton d’accès auprès de Microsoft Entra ID.
Alternativement, il existe une invite de demande pour gérer l'authentification renforcée telle que l'authentification à deux facteurs.
4 client Microsoft Entra ID → Teams Microsoft Entra ID envoie le jeton d’accès au client Teams. Le jeton est un jeton web JSON (JWT) et sa validation fonctionne comme la validation de jeton dans la plupart des flux OAuth standard. Teams met en cache le jeton en votre nom afin que les appels futurs à getAuthToken() retournent le jeton mis en cache.
5 Client Teams → Client d’application d’onglet Teams envoie le jeton d’accès à l’application d’onglet dans le cadre de l’objet de résultat retourné par l’appel getAuthToken() .
6 Application d’onglet (entre le client et le serveur) L’application d’onglet analyse le jeton d’accès à l’aide de JavaScript pour extraire les informations requises, telles que l’adresse e-mail de l’utilisateur de l’application. Le jeton retourné à l’application d’onglet est à la fois un jeton d’accès et un jeton d’identité.

Pour plus d’informations, consultez Ajouter du code pour activer l’authentification unique dans une application onglet et Ajouter du code pour activer l’authentification unique dans votre application bot.

Importante

  • La getAuthToken() est valide uniquement pour le consentement à un ensemble limité d’API de niveau utilisateur, telles que la messagerie électronique, le profil, offline_access et OpenId. Il n’est pas utilisé pour d’autres étendues Graph telles que User.Read ou Mail.Read. Pour obtenir des solutions de contournement suggérées, consultez Étendre votre application avec des autorisations Microsoft Graph.
  • Le getAuthToken échoue pour les utilisateurs anonymes, car ils ne sont pas Microsoft Entra comptes.

Les onglets sont des pages web compatibles avec Teams. Pour activer l’authentification unique dans une page web hébergée dans une application d’onglet, ajoutez la bibliothèque de client JavaScript Teams et appelez microsoftTeams.initialize(). Après l’initialisation, appelez microsoftTeams.getAuthToken() pour obtenir le jeton d’accès de votre application.

Cas d’utilisation pour l’activation de l’authentification unique

Vous pouvez activer l’authentification unique dans Teams pour toutes les applications qui prennent en charge Microsoft Entra ID en tant que fournisseur d’identité. Outre l’utilisation de l’authentification unique pour authentifier les utilisateurs d’application dans une application d’onglet, vous pouvez également l’utiliser pour permettre un accès transparent entre Teams.

Voici quelques scénarios dans lesquels vous pouvez utiliser l’API SSO pour authentifier les utilisateurs de votre application :

  • Si vous souhaitez authentifier les utilisateurs de votre application dans une application d’onglet Teams, l’API SSO permet aux utilisateurs de l’application d’utiliser votre application dans Teams sans authentification supplémentaire. En fonction de l’identité Teams de l’utilisateur de l’application, vous pouvez obtenir un jeton d’accès à partir de Microsoft Entra ID.
  • Si votre application utilise des boîtes de dialogue (appelées modules de tâche dans TeamsJS v1.x) à partir d’un bot, d’un onglet, d’une extension de message ou de cartes adaptatives, vous pouvez utiliser l’API d’authentification unique pour authentifier les utilisateurs de votre application.
  • Vous pouvez également utiliser l’API d’authentification unique pour authentifier les utilisateurs de votre application qui souhaitent accéder à Stageview sans avoir à être validés à nouveau.

Conseil

Vous pouvez également utiliser l’API d’authentification unique pour authentifier les utilisateurs de l’application dans des boîtes de dialogue qui incorporent du contenu web.

Pour obtenir l’authentification unique au moment de l’exécution, configurez votre application afin d’activer l’authentification unique pour authentifier et autoriser les utilisateurs de l’application.

Activer l’authentification unique pour une application d’onglet Teams

Cette section décrit les tâches impliquées dans l’implémentation de l’authentification unique pour une application Teams. Ces tâches sont indépendantes du langage et du framework.

Pour activer l’authentification unique pour une application d’onglet Teams :

       Capture d’écran montrant les étapes d’activation de l’authentification unique pour l’onglet.

  1. Configurer l’application avec Microsoft Entra ID : créez une application Microsoft Entra pour générer un ID d’application et un URI d’ID d’application. Pour générer un jeton d’accès, configurez des étendues et autorisez les applications clientes approuvées.
  2. Ajouter du code : ajoutez le code pour gérer le jeton d’accès, envoyez ce jeton au code serveur de votre application dans l’en-tête Authorization et validez le jeton d’accès lorsqu’il est reçu.
  3. Mettre à jour le manifeste de l’application Teams : Mettez à jour le manifeste de votre application cliente Teams avec l’ID d’application et l’URI d’ID d’application générés sur Microsoft Entra ID pour permettre à Teams de demander des jetons d’accès au nom de votre application.

Cookies tiers sur iOS

Après la mise à jour d’iOS 14, Apple a bloqué l’accès tiers aux cookies pour toutes les applications par défaut. Par conséquent, les applications qui utilisent des cookies tiers pour l’authentification dans leurs onglets Canal ou Conversation et Applications personnelles ne pourront pas effectuer leurs workflows d’authentification sur les clients iOS Teams. Pour vous conformer aux exigences de confidentialité et de sécurité, vous devez passer à un système basé sur des jetons ou utiliser des cookies internes pour les flux de travail d’authentification utilisateur.

Prise en charge du client mobile Teams

Pour teams mobile, les versions client qui prennent en charge l’authentification unique sont les suivantes :

  • Teams pour Android (1416/1.0.0.2020073101 et versions ultérieures)
  • Teams pour iOS (version : 2.0.18 et versions ultérieures)
  • Bibliothèque JavaScript Teams (version 1.11 et ultérieure) pour que l’authentification unique fonctionne dans le panneau latéral de la réunion

Pour une expérience optimale avec Teams, utilisez la dernière version d'iOS et d'Android.

Guides détaillés

Utilisez les guides pas à pas suivants pour activer l’authentification unique pour l’application Teams :

Meilleures pratiques

Voici une liste des meilleures pratiques :

  • Appelez le jeton d’accès uniquement lorsque vous en avez besoin: Appelez getAuthToken() uniquement lorsque vous avez besoin d’un jeton d’accès. Vous pouvez l’appeler lorsqu’un utilisateur d’application accède à votre application d’onglet, ou pour utiliser une fonction particulière qui nécessite la validation de l’utilisateur de l’application.
  • Ne stockez pas le jeton d’accès sur le code côté client: ne mettez pas en cache ou ne stockez pas le jeton d’accès dans le code côté client de votre application. Le client Teams met en cache le jeton d’accès (ou en demander un nouveau s’il expire). Cela garantit qu’il n’y a pas de fuite accidentelle de votre jeton à partir de votre application web.
  • Utilisez du code côté serveur pour Microsoft Graph appels: utilisez toujours le code côté serveur pour effectuer des appels Microsoft Graph ou d’autres appels qui nécessitent le passage d’un jeton d’accès. Ne renvoyez jamais le jeton OBO au client pour permettre au client d’effectuer des appels directs vers Microsoft Graph. Cela aide à protéger le jeton contre l’interception ou la fuite. Pour plus d’informations, consultez Étendre l’application d’onglet avec Microsoft Graph autorisations et étendue.

Limitations connues

  • Actuellement, l’authentification unique dans Teams prend en charge uniquement le jeton OAuth 2.0. Il ne prend pas en charge le jeton SAML.
  • Plusieurs domaines par application ne sont pas pris en charge. Pour plus d’informations, consultez Applications personnalisées conçues pour votre organisation (applications métier).
  • Les redirections ne sont pas prises en charge pour les applications iframed ou réparties. Veillez à utiliser MSAL.js dans le cadre supérieur de la fenêtre si vous utilisez les API de redirection ou l’API (window.parent!==window) => truecontextuelle .

Étape suivante

Voir aussi