C# Auth0+;Asp.Net核心2.1+;错误403禁止

C# Auth0+;Asp.Net核心2.1+;错误403禁止,c#,oauth-2.0,auth0,asp.net-core-2.1,C#,Oauth 2.0,Auth0,Asp.net Core 2.1,这是我第一次使用Auth0,我创建了我的Asp.net核心Web API 2.1,当我完成控制器的实现时,我会使用Auth0保护它们。 我按照Auth0的文档在Startup.cs中进行配置,就像在ConfigureServices方法中一样: // 1. Add Authentication Services services.AddAuthentication(options => { options.DefaultAuthenticateSch

这是我第一次使用Auth0,我创建了我的Asp.net核心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);
在配置方法中:

        // 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 3.1。您会发现更多示例/教程。我建议您选择asp.net core 3.1。您会发现更多示例/教程他们给出的控制器示例与我的代码一样简单,但在我的项目中仍然不起作用。好的,重述:1-从Auth0您需要创建一个新规则,此规则允许您验证角色,在示例中,他们验证域以确定角色是什么,然后在同一个规则中,它们将角色添加到具有名称空间
https://schemas.quickstarts.com/roles
2-从Startup类中的项目中添加
TokenValidationParameters
并在内部添加角色声明并非所有责任都来自controllerI解决,问题出在《邮递员》中,当我使用错误的授权类型请求访问令牌时,所以当我在jwt.io中转换令牌时,我没有找到角色。我遇到了同样的问题。Witch grant_类型您使用了/需要了吗?他们给出的控制器示例与我的代码非常简单,但在我的项目中仍然不起作用。好的,重述:1-从Auth0您需要创建一个新规则,此规则允许您验证角色,在示例中,他们验证域以确定角色是什么,然后在同一个规则中,它们将角色添加到具有名称空间
https://schemas.quickstarts.com/roles
2-从Startup类中的项目中添加
TokenValidationParameters
并在内部添加角色声明并非所有责任都来自controllerI解决,问题出在《邮递员》中,当我使用错误的授权类型请求访问令牌时,所以当我在jwt.io中转换令牌时,我没有找到角色。我遇到了同样的问题。您使用/需要什么类型的软件?