Ролевая авторизация в веб-интерфейсе asp.net с использованием токена доступа к рекламе
Мне нужно реализовать авторизацию на основе ролей для asp .net web api из собственного клиентского приложения, токен доступа будет отправлен в заголовок, поэтому, когда я даю атрибут [Authorize] моему web api, он работает нормально, но когда я даю [Authorize(Role="Admin")] выдает несанкционированную ошибку, а затем при проверке роли в утверждениях всегда имеет значение null.
Мой startup.cs - это
public void Configuration(IAppBuilder app)
{
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Audience = ConfigurationManager.AppSettings["ida:Audience"],
Tenant = ConfigurationManager.AppSettings["ida:Tenant"],
});
}
и я применил атрибут авторизации для метода
[Authorize]
[HttpGet]
public async Task<UserDetails> TestAuthorization()
{
string upn = ClaimsPrincipal.Current.FindFirst(ClaimTypes.Name).Value;
string tenantID = ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/tenantid").Value;
var role = ClaimsPrincipal.Current.FindFirst(ClaimTypes.Role);
return null;
}
здесь значение роли всегда равно нулю
Пожалуйста помоги мне с этим