Pour vous authentifier et acquérir des jetons, vous initialisez une nouvelle application cliente publique ou confidentielle dans votre code. Vous pouvez définir plusieurs options de configuration lorsque vous initialisez l’application cliente dans la bibliothèque d’authentification Microsoft (MSAL). Ces options se répartissent en deux groupes :
Options d’inscription, à savoir :
Autorité (composée de l’instance de fournisseur d’identité et de l’audience de connexion pour l’application et, éventuellement, l’ID de locataire)
Secret client (pour les applications clientes confidentielles)
Options de journalisation incluant le niveau de journalisation, le contrôle de données personnelles et le nom du composant utilisant la bibliothèque
Authority
L’autorité est une URL indiquant un annuaire dont la bibliothèque d’authentification Microsoft peut demander des jetons.
Les autorités courantes sont les suivantes :
URL d’autorité courante
Quand l’utiliser
https://login.microsoftonline.com/<tenant>/
Connecter des utilisateurs d’une organisation spécifique uniquement. L’élément <tenant> dans l’URL est l’ID de locataire du locataire Microsoft Entra (un GUID) ou son domaine locataire.
https://login.microsoftonline.com/common/
Connecter des utilisateurs disposant de comptes professionnels ou scolaires, ou de comptes Microsoft personnels.
https://login.microsoftonline.com/organizations/
Connecter des utilisateurs disposant de comptes professionnels ou scolaires.
https://login.microsoftonline.com/consumers/
Connecter des utilisateurs disposant uniquement de comptes Microsoft personnels (MSA).
L’autorité que vous spécifiez dans votre code doit être cohérente avec les types de comptes pris en charge spécifiés pour l’application dans Inscriptions d’applications dans le portail Azure.
Une autorité de services de fédération Active Directory (AD FS). Consultez Support de AD FS.
Les autorités cloud Microsoft Entra sont en deux parties :
L’instance de fournisseur d’identité.
L’audience de connexion pour l’application.
L’instance et l’audience peuvent être concaténées et fournies en tant que qu’URL de l’autorité. Ce diagramme montre comment l’URL de l’autorité est composée :
Instance cloud
L’instance est utilisée pour spécifier si votre application connecte des utilisateurs à partir du cloud public Azure ou de clouds nationaux. En utilisant MSAL dans votre code, vous pouvez définir l’instance cloud Azure à l’aide d’une énumération ou en transmettant l’URL à l’instance cloud nationale en tant que membre Instance.
MSAL.NET lève une exception explicite si les deux valeurs Instance et AzureCloudInstance sont spécifiées.
Si vous ne spécifiez pas d’instance, votre application cible l’instance cloud publique Azure (instance de l’URL https://login.onmicrosoftonline.com).
Audience de l’application
L’audience de connexion varie selon les besoins métier de votre application :
Si vous êtes un développeur d’application métier (LOB), vous allez probablement produire une application à locataire unique qui sera utilisée uniquement dans votre organisation. Dans ce cas, spécifiez l’organisation par son ID de locataire (ID de votre instance Microsoft Entra) ou par un nom de domaine associé à l’instance Microsoft Entra.
Si vous êtes un ISV, vous pouvez connecter des utilisateurs avec leurs comptes professionnels et scolaires dans toute organisation ou dans certaines organisations (application mutualisée). Mais vous pouvez également amener les utilisateurs à se connecter avec leurs comptes Microsoft personnels.
Comment spécifier l’audience dans votre code/configuration
En utilisant MSAL dans votre code, vous spécifiez l’audience à l’aide de l’une des valeurs suivantes :
Énumération d’audience de l’autorité Microsoft Entra
L’ID de locataire, qui peut être :
Un GUID (ID de votre instance Microsoft Entra) pour des applications à locataire unique
Un nom de domaine associé à votre instance Microsoft Entra (également pour des applications à locataire unique)
Un de ces espaces réservés comme un ID de tenant à la place de l’énumération d’audience de l’autorité Microsoft Entra :
organizations pour une application mutualisée.
consumers pour connecter les utilisateurs uniquement avec leurs comptes personnels.
common pour connecter des utilisateurs avec leurs comptes professionnels et scolaires, ou leurs comptes Microsoft personnels.
MSAL lève une exception significative si vous spécifiez l’audience d’autorité Microsoft Entra et l’ID client.
Il est recommandé de spécifier une audience, car de nombreux tenants et les applications déployées dans ceux-ci auront des utilisateurs invités. Si votre application a des utilisateurs externes, il est préférable d’éviter les points de terminaison de common et organization. Si vous ne spécifiez pas d’audience, votre application cible Microsoft Entra et des comptes Microsoft personnels en tant qu’audience et agit comme si vous spécifiez common.
Audience effective
L’audience effective pour votre application sera la valeur minimale (s’il existe une intersection) de l’audience que vous définissez dans votre application et de l’audience spécifiée dans l’inscription d’application. En fait, l’expérience inscriptions d’applications vous permet de spécifier l’audience (les types de comptes pris en charge) pour l’application. Pour plus d’informations, consultez Démarrage rapide : Inscrire une application avec la plateforme des identités Microsoft.
Actuellement, la seule façon d’obtenir qu’une application connecte des utilisateurs disposant uniquement de comptes Microsoft personnels consiste à configurer ces deux paramètres :
Définissez l’audience d’inscription d’application sur Work and school accounts and personal accounts.
Définissez l’audience dans votre code/configuration sur AadAuthorityAudience.PersonalMicrosoftAccount (ou TenantID ="consumers").
ID client
L’ID client est l’ID (client) d’application unique que Microsoft Entra attribue à votre application lors de l’inscription de l’application. Vous trouverezl’ID d’application (client) dans la page Vue d’ensemble de l’application dansIdentité>Applications>Applications d’entreprise.
URI de redirection
L’URI de redirection est l’URI auquel le fournisseur d’identité renvoie les jetons de sécurité.
URI de redirection pour les applications clientes publiques
Si vous êtes un développeur d’application cliente publique utilisant MSAL :
Vous souhaitez utiliser .WithDefaultRedirectUri() dans les applications de bureau ou de plateforme Windows universelle (UWP) (MSAL.NET 4.1+). La méthode .WithDefaultRedirectUri() permet de définir la propriété URI de redirection de l’application cliente publique sur l’URI de redirection recommandé par défaut pour les applications clientes publiques.
valeur de WebAuthenticationBroker.GetCurrentApplicationCallbackUri(). Cela active l’authentification unique (SSO) avec le navigateur en définissant la valeur sur le résultat de WebAuthenticationBroker.GetCurrentApplicationCallbackUri() que vous devez inscrire
.NET
https://localhost permet à l’utilisateur de se servir du navigateur système pour l’authentification interactive, car .NET ne dispose pas d’une interface utilisateur pour l’affichage web incorporé pour le moment.
Vous pouvez remplacer l’URI de redirection à l’aide de la propriété RedirectUri (par exemple, si vous utilisez des répartiteurs). Voici quelques exemples d’URI de redirection pour ce scénario :
Lors de la génération d’une application à l’aide de MSAL Android, vous pouvez configurer le redirect_uri lors de l’inscription initiale de l’application ou l’ajouter par la suite.
Le format de l’URI de redirection est le suivant : msauth://<yourpackagename>/<base64urlencodedsignature>
Exemple : redirect_uri = msauth://com.azuresamples.myapp/6/aB1cD2eF3gH4iJ5kL6-mN7oP8qR=
Pour plus d’informations sur la configuration de l’application Android MSAL, reportez-vous à la configuration MSAL Android.
URI de redirection pour les applications clientes confidentielles
Pour les applications web, l’URI de redirection (ou URL de réponse) est l’URI que Microsoft Entra ID utilise pour renvoyer le jeton à l’application. L’URI peut être l’URL de l’application web/API web si l’application confidentielle correspond à l’une d’elles. L’URI de redirection doit être inscrit dans l’inscription d’application. L’inscription est particulièrement importante lorsque vous déployez une application que vous avez initialement testée localement. Vous devez ensuite ajouter l’URL de réponse de l’application déployée dans le portail d’inscription d’application.
Pour les applications démon, vous n’avez pas besoin de spécifier un URI de redirection.
Clé secrète client
Cette option spécifie la clé secrète client pour l’application cliente confidentielle. La clé secrète client (mot de passe de l’application) est fournie par le portail d’inscription d’application ou, pour Microsoft Entra ID, fournie lors de l’inscription de l’application avec PowerShell Microsoft Entra ID, PowerShell AzureRM ou Azure CLI.
Journalisation
Pour favoriser les scénarios de résolution des problèmes d’authentification et de débogage, la bibliothèque MSAL offre une prise en charge intégrée de la journalisation. La journalisation dans chaque bibliothèque est couverte dans les articles suivants :
Expliquez les fonctionnalités de Microsoft Entra ID pour moderniser des solutions d’identité, implémenter des solutions hybrides et une gouvernance des identités.