Аутентификация в приложении 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?