URI моего Azure Active Directory URI содержит звездочку, что-то вроде https://*.mywebapp.com"
. AAD может успешно приобрести токен для ресурса https://test.mywebapp.com
для этого приложения.Как я могу заставить WindowsAzureActiveDirectoryBearerAuthenticationOptions принять аудиторию со звездочкой
На стороне обслуживания я использую OWIN и WindowsAzureActiveDirectoryBearerAuthenticationOptions
для проверки токена. Проблема в том, что указание аудитории со звездочкой не поддерживается.
С помощью следующего кода, проверка маркера возвращает ложь знамения с аудиторией https://test.mywebapp.com
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Tenant = c_azureActiveDirectoryTenant,
TokenValidationParameters = new TokenValidationParameters
{
ValidAudiences = new[] { "https://*.mywebapp.com" },
SaveSigninToken = true,
},
});
Глядя на AudienceValidator
и IssuerValidator
коде на GitHub, я могу легко понять причину - код сравнивает точные строки. Я бы ожидал, что код будет уважать подстановочные знаки, это по дизайну или просто ошибка? Любое обходное решение?