Может ли демон-сервер использовать встроенную проверку подлинности службы приложений Azure?
В настоящее время мы запускаем наш веб-API с помощью службы приложений Azure. До сих пор аутентификация не использовалась и не требовалась. Теперь мы хотели бы добавить аутентификацию для одного нового метода.
Встроенная аутентификация Azure описана здесь. Поскольку мы хотим, чтобы данные запрашивались другим сервером (не работающим в Azure) без взаимодействия с пользователем, рассматривается решение для демонического сервера. Чтобы это работало, необходимо создать регистрацию приложения для приложения-демона в Azure AD и отредактировать приложение, созданное встроенной аутентификацией для веб-API.
Необходим следующий код, который требует нескольких пакетов NuGet.
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
}
private void ConfigureAuth(IAppBuilder app)
{
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Tenant = <tenant>,
TokenValidationParameters = new TokenValidationParameters
{
ValidAudience = <API address>
}
});
}
Есть ли способ объединить эти два подхода и иметь deamon-сервер, который получает токен JWT, используя его регистрацию в Azure AD (этот бит у нас есть), и этот токен проверяется встроенной аутентификацией (без использования кода выше) приложения Обслуживание?
С кодом выше все работает, но как только он удален, токен JWT демона не распознается. В обоих случаях (с / без кода) можно вручную войти с помощью встроенной аутентификации на <appAddress>/.auth/login/aad
, Описана встроенная аутентификация для работы с токенами JWT, но она не работает.