Compartir vía


Aplicación de escritorio que llama a API web: Adquisición de un token

Una vez que se ha compilado una instancia de la aplicación cliente pública, se usará para adquirir un token que, a su vez, se emplea para llamar a una API web.

La API web se define mediante sus .ámbitos. Sea cual sea la experiencia que proporcione en la aplicación, el patrón que debe usar es:

  • Intente obtener de forma sistemática un token de la caché de tokens mediante una llamada a AcquireTokenSilent.
  • Si se produce un error en esta llamada, use el flujo AcquireToken que quiera emplear, que aquí está representado por AcquireTokenXX.

En 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();
}

Estas son las distintas formas de adquirir tokens en una aplicación de escritorio.


Importante

Si los usuarios deben usar la autenticación multifactor (MFA) para iniciar sesión en la aplicación, se les bloqueará.

Pasos siguientes

Avance al siguiente artículo de este escenario, Llamada a una API web desde la aplicación de escritorio.