zoukankan      html  css  js  c++  java
  • .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之前,否则也会报错。

  • 相关阅读:
    Git本地windows凭证账号更改
    解决vue ui创建项目很慢的原因
    跨域问题总结
    JS柯里化
    vue diff算法讲解
    当面试官问你闭包时,他究竟想听到些什么?
    JS中的 ==
    必须知道的 prototype, [[prototype]], __proto__
    Deepcopy in Javascript
    http问题整理
  • 原文地址:https://www.cnblogs.com/wsprince/p/11649421.html
Copyright © 2011-2022 走看看