Application de bureau qui appelle des API web : Acquérir un jeton

Après avoir créé une instance de l’application cliente publique, vous l’utilisez pour acquérir un jeton que vous utiliserez ensuite pour appeler une API web.

L’API web est définie par ses valeurs d’étendues. Quelle que soit l’expérience que vous fournissez dans votre application, le modèle à utiliser est le suivant :

  • Systématiquement tenter d’obtenir un jeton à partir du cache de jeton en appelant AcquireTokenSilent
  • Si cet appel échoue, utiliser le flux AcquireToken que vous souhaitez utiliser, ici représenté par AcquireTokenXX

Dans MSAL.NET

AuthenticationResult result;
var accounts = await app.GetAccountsAsync();
IAccount account = ChooseAccount(accounts); // for instance accounts.FirstOrDefault
                                            // if the app manages is at most one account
try
{
 result = await app.AcquireTokenSilent(scopes, account)
                   .ExecuteAsync();
}
catch(MsalUiRequiredException ex)
{
  result = await app.AcquireTokenXX(scopes, account)
                    .WithOptionalParameterXXX(parameter)
                    .ExecuteAsync();
}

Vous pouvez acquérir des jetons de différentes façons dans une application de bureau.


Important

Si les utilisateurs doivent utiliser l’authentification multifacteur (MFA) pour se connecter à l’application, ils seront au lieu de cela bloqués.

Étapes suivantes

Passez à l’article suivant de ce scénario, Appeler une API web à partir de l’appareil de bureau.