asp.net-core – 不使用HTTPS的ASP.NET 5 OAuth重定向URI
发布时间:2020-12-16 09:55:24 所属栏目:asp.Net 来源:网络整理
导读:我正在复制 Social Sample,但尝试使用其中未显示的其他OAuth提供程序,所以我有一些代码如下: app.USEOAuthAuthentication("test",options ={ options.ClientId = "xxx"; options.ClientSecret = "xxx"; options.AuthorizationEndpoint = "xxx"; options.Tok
我正在复制
Social Sample,但尝试使用其中未显示的其他OAuth提供程序,所以我有一些代码如下:
app.USEOAuthAuthentication("test",options => { options.ClientId = "xxx"; options.ClientSecret = "xxx"; options.AuthorizationEndpoint = "xxx"; options.TokenEndpoint = "xxx"; options.CallbackPath = new PathString("/signin-test"); }); 我的应用程序在反向代理后运行,终止SSL.当我需要https://myapp.com/signin-test时,我的redirect_uri会变成http://myapp.com/signin-test. 所有应用程序都知道X-Forwarded-Proto HTTP标头是否设置为“http”或“https”,但似乎没有检测到. 有没有办法强制CallbackPath使用HTTPS,无论请求是否这样做?或者其他一些方法来实现这一目标? 我尝试将所有请求重定向到HTTPS,但这没有帮助: app.Use(async (context,next) => { if ("https".Equals(context.Request.Headers["x-forwarded-proto"])) { await next(); } else { var withHttps = "https://" + context.Request.Host + context.Request.Path; context.Response.Redirect(withHttps); } }); 解决方法
建议的方法是在调用管道的其余部分之前手动更改context.Request.Scheme以返回https而不是http(等待next()):
app.Use(next => context => { if (string.Equals(context.Request.Headers["X-Forwarded-Proto"],"https",StringComparison.OrdinalIgnoreCase)) { context.Request.Scheme = "https"; } return next(context); }); 仅供参考,ASP.NET团队目前正在开发一种可自动执行此任务的中间件:https://github.com/aspnet/BasicMiddleware/pull/1/files (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 自动完成后的事件填写Asp.net C#或javascript / html,
- asp.net – 如何使RequiredFieldValidator更改父div的css类
- asp.net-mvc – 菜单上没有添加控制器,无法在MVC 4.5中添加
- asp.net – 如何在没有实体框架的MVC中使用SimpleMembershi
- asp.net – (.NET Core 1.0 \u0026\u0026 net46)
- 如何在asp.Net中的脚本标签上使用runat =“server”
- asp.net – 如何在visual studio中查看cshtml页面?
- asp.net-mvc-3 – 是否有可能将太多的存储库注入控制器?
- ASP.Net Core Web Api中的异步视频流不起作用
- 通过代码实现 OutOfMemory
推荐文章
站长推荐
- asp.net-mvc – 如何将存储库传递给ASP.NET MVC中
- asp.net-mvc – Azure SignalR服务连接未激活
- asp.net – 如何使用PowerShell了解IIS中托管的特
- asp.net-mvc – 抛出一个404像StackOverflow的,没
- 使用ASP.NET Web API 2.1配置依赖注入
- [你必须知道的.NET] 第五回:深入浅出关键字---把
- 什么是链接服务器的ASP.NET连接字符串格式?
- ASP.NET没有魔法——ASP.NET Identity与授权
- 如何为ASP.NET WebAPI 2中使用路由属性的特定控制
- asp.net-mvc – ASP.Net MVC2自定义模板通过Ajax
热点阅读