Аутентификация в приложении API Azure с использованием ADAL

У меня есть приложение Azure API, помеченное как «Общедоступное (прошедшее проверку подлинности)», и я настроил удостоверение Azure Active Directory в соответствующем шлюзе, как описано вЗащитить приложение API.

Затем я создал собственное приложение в том же клиенте Azure Active Directory и добавил разрешение на доступ к шлюзу в делегированных разрешениях.

Используя ADAL и следующий код, я могу успешно пройти аутентификацию и получить токен доступа, но не могу понять, как использовать его для доступа к своему 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;
}

Я тестировал приложение API, вручную вводяx-zumo-auth header Я вхожу в Chrome, и он работает тогда, но не с токеном, который я получаю, используя ADAL. Я также попробовал формы браузера, описанные в ихобразец кода который работает, но не дает мне токен обновления.

Как мне настроить код аутентификации, чтобы я мог использоватьTokenCache и ADAL с моим приложением API?

Ответы на вопрос(2)

Ваш ответ на вопрос