Autenticar no aplicativo de API do Azure usando ADAL

Eu tenho um Aplicativo de API do Azure marcado como "Público (autenticado)" e configure uma identidade do Azure Active Directory no gateway associado, conforme detalhado emProteger um aplicativo de API.

Em seguida, criei um aplicativo nativo no mesmo inquilino do Azure Active Directory e adicionei permissão para acessar o Gateway nas permissões delegadas.

Usando o ADAL e o código a seguir, sou capaz de autenticar com êxito e obter um token de acesso, mas não consigo descobrir como usá-lo para acessar meu aplicativo de API.

string Tenant = "[xxx].onmicrosoft.com";
string Authority = "https://login.microsoftonline.com/" + Tenant;
string GatewayLoginUrl = "https://[gateway].azurewebsites.net/login/aad";
string ClientId = "[native client id]";
Uri RedirectUri = new Uri("[native client redirect url]");

async Task<string> GetTokenAsync()
{
  AuthenticationContext context = new AuthenticationContext(Authority);
  PlatformParameters platformParams = new PlatformParameters(PromptBehavior.Auto, null);
  AuthenticationResult result = await context.AcquireTokenAsync(GatewayLoginUrl, ClientId, RedirectUri, platformParams);

  return result.AccessToken;
}

Testei o aplicativo da API inserindo manualmente umx-zumo-auth header Eu entro no Chrome e ele funciona então, mas não com um token que uso com o ADAL. Eu também tentei os formulários do navegador descritos em seusCódigo de amostra que funciona, mas não me fornece um token de atualização.

Como preciso configurar meu código de autenticação para poder usar umTokenCache e ADAL com meu aplicativo de API?

questionAnswers(2)

yourAnswerToTheQuestion