Options de configuration d’application

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 :

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.

L’autorité peut être :

  • Une autorité cloud Microsoft Entra.
  • Une autorité Azure AD B2C. Voir Spécificités B2C.
  • 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 :

How the authority URL is composed

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.

    Plateforme URI de redirection
    Application de bureau (.NET Framework) https://login.microsoftonline.com/common/oauth2/nativeclient
    UWP 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 n’avez pas besoin d’ajouter un URI de redirection si vous générez une application Xamarin Android et iOS qui ne prend pas en charge l’URI de redirection du répartiteur. Il est automatiquement défini sur msal{ClientId}://auth pour Xamarin Android et iOS.

  • Configurez l’URI de redirection dans Inscriptions d’applications :

    Redirect URI in App registrations

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 :

  • RedirectUriOnAndroid = "msauth-5a434691-ccb2-4fd1-b97b-b64bcfbc03fc://com.microsoft.identity.client.sample";
  • RedirectUriOnIos = $"msauth.{Bundle.ID}://auth";

Pour plus d’informations sur iOS, consultez Migrer des applications iOS d’ADAL.NET vers MSAL.NET en utilisant Microsoft Authenticator et Utilisation du répartiteur sur iOS. Pour plus d’informations sur Android, consultez Authentification répartie dans 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 :

Étapes suivantes

En savoir plus sur l’instanciation d’applications clientes à l’aide de MSAL.NET et l’instanciation d’applications clientes à l’aide de MSAL.js.