ASP.NETCoreOIDC在使用多个代理时无法正常工作。
创始人
2024-09-18 04:30:33
0

当ASP.NET Core应用程序在使用反向代理或负载均衡器时,可能会出现OIDC无法正常工作的问题。这是因为OIDC需要在重定向期间检测请求的URL,但是在使用代理时,请求的URL可能会被修改。

为了解决此问题,我们需要在ASP.NET Core应用程序中添加以下代码段:

services.Configure(options =>
{
    options.ForwardedHeaders = ForwardedHeaders.XForwardedFor |
                               ForwardedHeaders.XForwardedProto;
});

app.UseForwardedHeaders();

这将启用前向代理标头,以确保请求的URL始终正确解析。此外,我们需要在OIDC选项中配置正确的回调路径:

services.AddAuthentication(options =>
{
    options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
    options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
})
.AddCookie()
.AddOpenIdConnect(options =>
{
    options.Authority = "https://example.com";
    options.ClientId = "my-client";
    options.ClientSecret = "my-secret";
    options.CallbackPath = "/signin-oidc";      // 正确的回调路径
    options.ResponseType = "code";
    options.SaveTokens = true;
});

在示例中,回调路径设置为“/signin-oidc”以确保它与代理服务器上的配置相匹配。

如果您的ASP.NET Core应用程序部署在多个代理之后,则需要确保正确配置用于处理请求的代理的标头。例如,假设您在Nginx代理之后运行应用程序,并且您需要将以下配置添加到Nginx服务器块中:

location /myapp {
    proxy_pass http://localhost:5000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https; # 代理服务器协议
    proxy_redirect off;

    # ...
}

请注意,我们在此处将X-Forwarded-Proto标头设置为“https”以正确传递协议信息。

通过执行这些步骤,您就可以解决多个代理下的ASP.NET Core OIDC问题。

相关内容

热门资讯

让我来分享经验!雀神广东麻将系... 广东雀神智能插件安装使用版本解析‌,让我来分享经验!雀神广东麻将系统调好(辅助挂)原来是真的有挂(有...
2分钟实锤!德州扑克aa扑克平... 1、2分钟实锤!德州扑克aa扑克平台(辅助挂)透视辅助((2024已更新))(哔哩哔哩);该软件可以...
盘点一款!太浪白城麻将有挂吗(... WePoke高级策略深度解析‌;盘点一款!太浪白城麻将有挂吗(辅助挂)确实真的有挂(有挂规律)-哔哩...
一分钟了解!wepoke有挂吗... 1、一分钟了解!wepoke有挂吗 网上!其实是真的有挂((2022已更新))(哔哩哔哩)。2、we...
透视辅助!雀神广东麻将输赢规律... 透视辅助!雀神广东麻将输赢规律(辅助挂)确实是真的有挂(有挂讲解)-哔哩哔哩;一、雀神广东麻将输赢规...
分享个大家!小甘麻将助赢神器(... 1、分享个大家!小甘麻将助赢神器(辅助挂)其实真的有挂(有挂分析)-哔哩哔哩;详细教程。2、小甘麻将...
1分钟科普!微扑克辅助机器人(... 1分钟科普!微扑克辅助机器人(辅助挂)透视辅助((2023已更新))(哔哩哔哩),您好,微扑克辅助这...
关于!hm3德州辅助怎么购买!... 关于!hm3德州辅助怎么购买!竟然真的有挂((2020已更新))(哔哩哔哩)是由北京得hm3德州黑科...
如何分辨真伪!广东小程序辅助购... 如何分辨真伪!广东小程序辅助购买(辅助挂)确实真的有挂(真是有挂)-哔哩哔哩;玩家必备必赢加哟《13...
透视安卓版!会友山西麻将有没有... 透视安卓版!会友山西麻将有没有挂(辅助挂)的确真的有挂(有挂技术)-哔哩哔哩;亲真的是有正版授权,小...