2015-07-09 3 views
4

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, я могу легко понять причину - код сравнивает точные строки. Я бы ожидал, что код будет уважать подстановочные знаки, это по дизайну или просто ошибка? Любое обходное решение?

ответ

3

Вы можете взять управление AudienceValidation, установив делегат TokenValidationParameters.AudienceValidator. Затем вы можете делать все, что вам нужно.

 Смежные вопросы

  • Нет связанных вопросов^_^