• .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之前,否则也会报错。

  • 相关阅读:
    Pro Andorid3第二章:设置开发环境
    Seminar 记录
    安装CGAL
    Literature review
    第七章:清楚简洁的英文 《英语科技写作(文法与修辞原则)》by 方克涛
    幻灯片制作去除模板背景
    vs2008下设置.h, .lib和 .dll 的路径配置全图及其意义
    配置环境变量
    PPT制作技巧
    #include文件时用双引号和尖括号的区别
  • 原文地址:https://www.cnblogs.com/wsprince/p/11649421.html
Copyright © 2020-2023  润新知