HAProxy-为 OAuth 重定向 HTTPS(Azure)

HAProxy-为 OAuth 重定向 HTTPS(Azure)

我需要帮助来解决我的问题。

我想要实现的是

http://abc.contoso.com ->https://abc.contoso.com(强制将 HTTP 重定向到 HTTPS)

我的问题是 Azure OAuth 2.0 授权端点所需的 URI 不匹配。

成功验证用户身份后,返回验证响应(令牌)时接受的作为目的地的 URI 必须是:https://abc.contoso.com/signin-oidc

但是 HAProxy 发送的 HTTP 表单如下:

https://login.microsoftonline.com/bdeebc-dd/oauth2/authorize?client_id=fd&redirect_uri = http %3A %2F %2Fabc.contoso.com %2Fsignin-oidc&response_type=id_token&scope=openid 配置文件&response_mode=form_post

我应该怎么做才能使用 HTTPS 表单(redirect_uri=https%3A%2F%2Fabc.contoso.com%2Fsignin-oidc)而不是 OAuth 的 HTTP?

我的配置是

前端

前端 public_front_end
绑定 *:80
模式 http
选项 forwardfor
重定向方案 https 代码 301 如果 !{ ssl_fc }

前端 public_secured_front_end
bind *:443 ssl crt /etc/haproxy/certs

后端

use_backend abc-api if { hdr(主机) -i abc.contoso.com }

后端 abc-api

模式 http

http 请求添加标头 X-Forwarded-Proto https

服务器 webserver01 192.168.0.1:4569 检查

期权远期

谢谢

答案1

您需要更新已设置的 Azure AD 应用程序来执行此身份验证,以便为 https 端点添加回复 URL。

相关内容