Я успешно настроил приложение Blazor для аутентификации с клиентом Azure, где я работаю. Аутентификация работает прекрасно. У меня есть настройка регистрации приложения в Azure с appRoles, определенными в манифесте. Я добавил в приложение нескольких пользователей с назначенными им ролями, однако после проверки подлинности я не получаю никаких утверждений о ролях в контексте пользователя.
Startup.cs
services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
.AddAzureAD(options => Configuration.Bind("AzureAd", options));
services.AddControllersWithViews(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
});
Манифест:
"appRoles": [
{
"allowedMemberTypes": [
"User"
],
"description": "Coming soon.",
"displayName": "Viewer",
"id": "{guid goes here}",
"isEnabled": true,
"lang": null,
"origin": "Application",
"value": "Viewer"
},
{
"allowedMemberTypes": [
"User"
],
"description": "Coming soon.",
"displayName": "Manager",
"id": "{guid goes here}",
"isEnabled": true,
"lang": null,
"origin": "Application",
"value": "Manager"
}
],
Я пытаюсь получить эти роли с заявками после проверки подлинности, но роли не выполняются. Это, очевидно, делает IsInRole неработающим, и я не могу найти примеры кода для достижения этой цели.
Буду очень признателен, если кто-нибудь укажет мне правильное направление!