为了账号安全,请及时绑定邮箱和手机立即绑定

.net core 2.0 cookie 身份验证在尝试通过 https 访问时陷入无限重定向循环

.net core 2.0 cookie 身份验证在尝试通过 https 访问时陷入无限重定向循环

C#
莫回无 2021-08-07 17:37:06
我刚刚将我的代码移到我们使用 https 的 QA 环境中,而在 Dev 中工作的内容在 QA 中不起作用,因为浏览器陷入无限重定向循环。我们的负载均衡器强制使用 https,因此当登录重定向发生在代码中时,由于某种原因,它试图重定向到 http 而不是 https,负载均衡器会停止它并再次添加 https,这会导致无限循环。我的问题是为什么这段代码不只是重定向到 https,路径在ConfigureServices()方法中是相对的。我已经在 fiddler 中查看过它,它确实为使用 http 而不是 https 的重定向添加了 FQDN。是否有一些属性需要添加到此处的选项中以允许 https 重定向?    public void ConfigureServices(IServiceCollection services)    {        services.AddMvc();        services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)            .AddCookie(options =>            {                options.LoginPath = "/Account/LogIn";                options.LogoutPath = "/Account/LogOff";            });    }    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.    public void Configure(IApplicationBuilder app, IHostingEnvironment env)    {        app.UseAuthentication();    }谢谢。
查看完整描述

3 回答

?
www说

TA贡献1775条经验 获得超8个赞

我们只是使用:


 public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)

    {           

        ... //settings and logging initialization

        app.Use((context, next) =>

        {

            context.Request.Scheme = "https";

            return next();

        });

        ... //all the rest middleware calls

    }

它在 OWIN 和 .Net Core 2.0 以下的大多数情况下都有帮助


查看完整回答
反对 回复 2021-08-07
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

对于 .net core 2.1 及更高版本的 azure 身份验证,请尝试使用此代码。


 services.Configure(AzureADDefaults.CookieScheme, options =>

    {

    options.Cookie.SameSite = SameSiteMode.None;

    });


services.AddAuthentication(AzureADDefaults.AuthenticationScheme)

             .AddAzureAD(options => Configuration.Bind("AzureAd", options));


查看完整回答
反对 回复 2021-08-07
  • 3 回答
  • 0 关注
  • 277 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信