【发布时间】:2020-01-23 04:24:15
【问题描述】:
您好,我正在使用 .Net 核心开发 Web 应用程序。我已经实现了 V2 身份验证。现在我需要添加授权。该要求指出,首先,
应用程序的工作不应该是收集 用户,它们应该在用户 JWT 中可用。第二, 应用程序的权限将根据声明授予。
下面是我的验证码。
services
.AddAuthentication(o =>
{
o.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(o =>
{
o.Authority = azureActiveDirectoryOptions.Authority;
o.TokenValidationParameters = new TokenValidationParameters
{
ValidAudiences = new List<string>
{
azureActiveDirectoryOptions.AppIdUri,
azureActiveDirectoryOptions.ClientId
},
};
});
services.AddMvc(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
}).SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
有人可以帮我添加基于声明的授权吗?任何帮助将不胜感激。谢谢
【问题讨论】:
-
阅读此article。
-
谢谢,但我的问题是如何在 JWT 令牌中包含声明?对此有什么想法吗?
-
中间件将帮助将令牌中的声明映射到您的应用程序用户声明,您想在 AAD 颁发的令牌中添加自定义声明吗?
-
谢谢。是的,我想在 AAD 颁发的令牌中添加自定义声明。我可以知道怎么做吗?
标签: asp.net-core jwt azure-active-directory authorization claims-based-identity