Partager via


Comment autoriser les applications clientes natives à interagir avec des applications de proxy

Le proxy d’application Microsoft Entra est utilisé pour publier des applications web. Vous pouvez également l’utiliser pour publier des applications clientes natives configurées avec la bibliothèque d’authentification Microsoft (MSAL). Les applications clientes sont différentes des applications web, car elles sont installées sur un appareil alors que les applications web sont accessibles via un navigateur.

Pour prendre en charge les applications clientes natives, le proxy d’application accepte les jetons émis par Microsoft Entra ID qui sont envoyés dans l’en-tête. Le service de proxy d’application effectue l’authentification pour les utilisateurs. Cette solution n’utilise aucun jeton d’application pour l’authentification.

Relation entre les utilisateurs finaux, l’ID Microsoft Entra et les applications publiées

Pour publier des applications natives, utilisez la bibliothèque d’authentification Microsoft, qui prend en charge l’authentification et de nombreux environnements clients. Le proxy d’application s’intègre à l’application de bureau qui appelle une API web pour le compte d’un scénario d’utilisateur connecté .

Cet article vous guide dans quatre étapes pour publier une application native avec le proxy d’application et la bibliothèque d’authentification Microsoft (MSAL).

Étape 1 : Publiez votre application proxy

Publiez votre application proxy comme vous le feriez pour toute autre application et affectez des utilisateurs pour accéder à votre application. Pour plus d’informations, consultez Publier des applications avec le proxy d’application.

Étape 2 : Inscrivez votre application native

Vous devez désormais inscrire votre application dans Microsoft Entra ID.

  1. Connectez-vous au Centre d’administration Microsoft Entra en tant qu’administrateur d’application au moins.

  2. Sélectionnez votre nom d’utilisateur en haut à droite. Vérifiez que vous êtes connecté à un répertoire qui utilise le service Proxy d’application. Si vous devez modifier des répertoires , sélectionnez Changer de répertoire et choisissez un répertoire qui utilise le proxy d’application.

  3. Accédez à Entra ID>Inscriptions d’application. La liste de toutes les inscriptions d’applications s’affiche.

  4. Sélectionnez Nouvelle inscription. La page Inscrire une application s’affiche .

    Créer une inscription d’application dans le Centre d’administration Microsoft Entra

  5. Dans l’en-tête Name , spécifiez un nom d’affichage accessible par l’utilisateur pour votre application.

  6. Sous le titre Types de comptes pris en charge , sélectionnez un niveau d’accès à l’aide de ces instructions.

    • Pour cibler uniquement les comptes internes à votre organisation, sélectionnez Comptes dans cet annuaire organisationnel uniquement.
    • Pour cibler uniquement les clients professionnels ou éducatifs, sélectionnez Comptes dans n’importe quel annuaire organisationnel.
    • Pour cibler l’ensemble le plus large d’identités Microsoft, sélectionnez Comptes dans n’importe quel annuaire organisationnel et comptes Microsoft personnels.
  7. Sous URI de redirection, sélectionnez Client public (mobile &desktop), puis tapez l’URI https://login.microsoftonline.com/common/oauth2/nativeclient de redirection pour votre application.

  8. Sélectionnez et lisez les stratégies de plateforme Microsoft, puis sélectionnez Inscrire. Une page présentant la nouvelle inscription d’application est créée et affichée.

Pour plus d’informations sur la création d’une inscription d’application, consultez Intégration d’applications à l’ID Microsoft Entra.

Étape 3 : Accordez l’accès à votre application proxy

Votre application native est inscrite. Donnez-lui l’accès à l’application proxy :

  1. Dans la barre latérale de la nouvelle page d’inscription d’application, sélectionnez autorisations d’API. La page Autorisations de l’API pour la nouvelle inscription d’application s’affiche.
  2. Sélectionnez Ajouter une autorisation. La page Demander des autorisations d’API s’affiche.
  3. Sous le paramètre Sélectionner une API , sélectionnez les API que mon organisation utilise. Une liste s’affiche, affichant les applications de votre annuaire qui exposent des API.
  4. Tapez dans la zone de recherche ou faites défiler pour rechercher l’application proxy que vous avez publiée à l’étape 1 : Publiez votre application proxy, puis sélectionnez l’application proxy.
  5. Dans le type d’autorisations dont votre application a besoin ? titre, sélectionnez le type d’autorisation. Si votre application native doit accéder à l’API d’application proxy en tant qu’utilisateur connecté, choisissez Autorisations déléguées.
  6. Dans le titre Sélectionner des autorisations , sélectionnez l’autorisation souhaitée, puis sélectionnez Ajouter des autorisations. La page Autorisations d’API pour votre application native affiche désormais l’application proxy et l’API d’autorisation que vous avez ajoutées.

Étape 4 : Ajoutez la bibliothèque d’authentification Microsoft à votre code (exemple C# .NET)

Modifiez le code de l’application native dans le contexte de l’authentification de la bibliothèque d’authentification Microsoft (MSAL) de manière à inclure le texte suivant :

// Acquire access token from Microsoft Entra ID for proxy application
IPublicClientApplication clientApp = PublicClientApplicationBuilder
.Create(<App ID of the Native app>)
.WithDefaultRedirectUri() // will automatically use the default Uri for native app
.WithAuthority("https://login.microsoftonline.com/{<Tenant ID>}")
.Build();

AuthenticationResult authResult = null;
var accounts = await clientApp.GetAccountsAsync();
IAccount account = accounts.FirstOrDefault();

IEnumerable<string> scopes = new string[] {"<Scope>"};

try
 {
    authResult = await clientApp.AcquireTokenSilent(scopes, account).ExecuteAsync();
 }
    catch (MsalUiRequiredException ex)
 {
     authResult = await clientApp.AcquireTokenInteractive(scopes).ExecuteAsync();                
 }

if (authResult != null)
 {
  //Use the Access Token to access the Proxy Application

  HttpClient httpClient = new HttpClient();
  httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authResult.AccessToken);
  HttpResponseMessage response = await httpClient.GetAsync("<Proxy App Url>");
 }

Les informations requises dans l’exemple de code sont disponibles dans le centre d’administration Microsoft Entra, comme suit :

Informations requises Comment le trouver dans le centre d’administration Microsoft Entra
<ID de locataire> ID Entra>Vue d'ensemble>Propriétés
<ID de l’application native> Enregistrement de l'application>votre application native>Aperçu>ID de l'application
<Portée> Enregistrement de l'application>votre application native>Autorisations d’API> sélectionnez l'API des autorisations (user_impersonation) > Un panneau avec la légende user_impersonation apparaît sur le côté droit. > L’étendue est l’URL dans la zone d’édition.
<URL de l’application proxy> URL externe et chemin de l’API

Une fois que vous avez modifié le code MSAL avec ces paramètres, vos utilisateurs peuvent s’authentifier auprès des applications clientes natives, même lorsqu’ils ne sont pas sur le réseau d’entreprise.

Étapes suivantes

Pour plus d’informations sur le flux d’applications natives, consultez les applications mobiles et de bureau dans l’ID Microsoft Entra.

Découvrez comment configurer l’authentification unique aux applications dans l’ID Microsoft Entra.