• .net core 简单集成JWT报No authenticationScheme was specified, and there was no DefaultChallengeScheme found错误


               #region JWT 认证
                services
                  .AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
                  //.AddCustomAuth(o => { })
                  .AddJwtBearer(options => {
                      options.TokenValidationParameters = new TokenValidationParameters {
                          ValidIssuer = Configuration["JwtSetting:Issuer"],
                          ValidAudience = Configuration["JwtSetting:Audience"],
                          IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["JwtSetting:SecurityKey"])),
                          // 默认允许 300s  的时间偏移量,设置为0
                          ClockSkew = TimeSpan.Zero
                      };
                  });
                #endregion
                #region MVC修改控制器描述
                services.AddHttpContextAccessor();
                services.Replace(ServiceDescriptor.Transient<IControllerActivator, ServiceBasedControllerActivator>());
                services.AddMvc(config => {
                    config.RespectBrowserAcceptHeader = true;
                    //注入MVC拦截器
                    config.Filters.Add<ApiFilter>();
                })
                .AddJsonOptions(options => options.SerializerSettings.ContractResolver = new ContractResolver())
                .AddJsonOptions(options => options.SerializerSettings.Converters.Add(new ChinaDateTimeConverter()))
                .AddFormatterMappings(options => options.SetMediaTypeMappingForFormat("xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"))
                .AddFormatterMappings(options => options.SetMediaTypeMappingForFormat("jpeg", "image/jpeg"))
                .AddFormatterMappings(options => options.SetMediaTypeMappingForFormat("jpg", "image/jpeg"));
           #endregion

    在ConfigureServices中  注册JWT必须在注册MVC之前 否则就会报No authenticationScheme was specified, and there was no DefaultChallengeScheme found错误

                app.UseAuthentication();
                app.UseMvc();

    在Configure中  添加JWT验证也必须在MVC之前,否则也会报错。

  • 相关阅读:
    Chrome
    给Xshell增加快速命令集
    Integer对象大小比较问题
    maven的mirror和repository加载顺序
    maven的settings.xml详解
    OAuth2.0 RFC 6749 中文
    Linux下netstat命令简单操作
    Linux里的几种不同的压缩命令小记
    [ASIS 2019]Unicorn shop
    Metasploit魔鬼训练营第一章作业
  • 原文地址:https://www.cnblogs.com/wsprince/p/11649421.html
Copyright © 2020-2023  润新知