Я развернул .NET Core Web API и предоставил доступ через Azure API Management. Теперь я хочу защитить серверную часть, используя поток учетных данных клиента OAuth2.
Я добавил аутентификацию Azure AD следующим образом:
services.AddAuthentication(AzureADDefaults.BearerAuthenticationScheme)
.AddAzureADBearer(options =>
{
Configuration.Bind("AzureAd", options);
});
Я создал регистрацию приложения и секрет клиента в Azure AD и подтвердил, что он работает, создав токен с использованием приведенного ниже кода и вызвав API.
var clientCred = new ClientCredential(clientId, clientSecret);
var result = await authContext.AcquireTokenAsync(resource, clientCred);
return result.AccessToken;
Можно ли использовать этот поток в Azure API Management? Я хочу, чтобы Azure API Management обрабатывал получение токена и передачу его в заголовок.
Ближайшая найденная мною статья - это следующая статья, но, похоже, она затрагивает потребителя передаваемых заголовков API, что, похоже, лишает смысла функциональность подписки API Management
https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-protect-backend-with-aad