Мы мигрируем с Windows Аутентификация на Azure AD.
У нас есть такая политика:
services.AddAuthorization(options =>
{
options.AddPolicy("Test", policy => policy.RequireClaim(ClaimTypes.Role, "Test"));
});
services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
.AddAzureAD(options => this.Configuration.Bind("AzureAd", options))
.AddCookie();
Мой контроллер украшен
[Authorize(Policy = "Test")]
вот манифест json:
"appRoles": [
{
"allowedMemberTypes": [
"User"
],
"description": "Security group for Test.",
"displayName": "Test",
"id": "5500dd65-c64b-400e-98dd-8e255563aefe",
"isEnabled": true,
"lang": null,
"origin": "Application",
"value": "Test"
}
],
Мы присвоили этой роли приложения действительную группу из портала azure.
Отлично работает в моей локальной среде, но после разверните его в среде разработки, мы вернули Forbidden
для авторизации.
проверил логи, мы нашли что-то вроде ниже:
AuthenticationScheme: AzureADCookie was not authenticated.
AuthenticationScheme: AzureADCookie was forbidden.
Authorization failed for the request at filter 'Microsoft.AspNetCore.Mvc.Authorization.AuthorizeFilter'.
Для всех, кто читал это далеко - заранее спасибо !