如何解决Auth0 + Asp.Net Core 2.1 +错误403禁止
这是我第一次接触Auth0,我创建了Asp.net Core Web API 2.1,当我完成控制器的实现后,我将使用Auth0保护它们。 我按照Auth0的文档在Startup.cs中对其进行配置,就像在ConfigureServices方法中那样:
// 1. Add Authentication Services
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(options =>
{
options.Authority = "https://studentdz.eu.auth0.com/";
options.Audience = "https://api.studentdz.com";
});
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
并在Configure方法中:
// 2. Enable authentication middleware
app.UseAuthentication();
app.UseHttpsRedirection();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",template: "{controller}/{action=Index}/{id?}");
});
此后,我在Auth0的控制台中创建用户,然后将其分配给我创建该角色的角色:
如果我只是在控制器中使用属性[Authorize]
,那是正常现象。
但是如果我这样向yhis属性添加角色:[Authorize(Roles = "Admin")]
结果将是禁止错误403
请帮助找到解决方案
解决方法
请阅读所有本教程 ASP.NET Core v2.1: Authorization
本教程介绍了角色库身份验证所需的所有内容
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。