代码之家  ›  专栏  ›  技术社区  ›  ConductedClever

ASP核心2.0应用程序。UseJwtBearerAuthentication失败

  •  5
  • ConductedClever  · 技术社区  · 7 年前

    我使用dot net core 1.1开发了一个web应用程序。在我更新到asp core 2.0之前,它运行良好。然后,在尝试使用该应用程序时,它报告了以下错误:

    InvalidOperationException:未指定authenticationScheme,并且 未找到DefaultChallengeScheme。

    JwtBearerAuthentication的身份验证配置,在 Configure Startup.cs 之前就像贝娄:

    app.UseJwtBearerAuthentication(new JwtBearerOptions
                {
                    AutomaticAuthenticate = true,
                    AutomaticChallenge = true,
                    TokenValidationParameters = tokenValidationParameters
                });
    

    在遇到这个错误后,我将其更新为:

    app.UseJwtBearerAuthentication(new JwtBearerOptions
            {
                AutomaticAuthenticate = true,
                AutomaticChallenge = true,
                TokenValidationParameters = tokenValidationParameters,
                AuthenticationScheme = JwtBearerDefaults.AuthenticationScheme
            });
    

    2 回复  |  直到 7 年前
        1
  •  7
  •   ConductedClever    7 年前

    我刚看完这篇文章,一切都很顺利。

    Migrating Authentication and Identity to ASP.NET Core 2.0

    希望它能帮助其他人。

        2
  •  0
  •   m.taran    3 年前

    您可以使用此代码而不是自己的代码来解决问题:

        services.AddAuthentication(options =>
        {
         options.DefaultAuthenticateScheme = 
         JwtBearerDefaults.AuthenticationScheme;
         options.DefaultChallengeScheme = 
         JwtBearerDefaults.AuthenticationScheme;
         options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
        })