【问题标题】:mod_auth_openidc with Apache2.4 reverse proxymod_auth_openidc 与 Apache2.4 反向代理
【发布时间】:2019-05-06 03:29:17
【问题描述】:

我正在尝试使用 OpenID 为 Centreon 网络应用设置 SSO。 这是架构: Apache 2.4(Windows)和 mod_auth_openidc 2.3.9 Centreon 2.8.17

我只希望一个虚拟主机通过 SSO 进行身份验证,因此我将所有 openidc conf 添加到 vhost.conf 文件中:

<VirtualHost *:80>
    ServerName myserver.com

<Location />
AuthType openid-connect
Require valid-user
</Location>

OIDCProviderMetadataURL https://openid.com/fss/.well-known/openid-configuration
OIDCClientID MY-Centreon
OIDCClientSecret abcdefghijklmnop
OIDCProviderTokenEndpointAuth client_secret_post
OIDCRedirectURI https://myserver.com/ssoredirect
OIDCScope "openid profile"
OIDCCryptoPassphrase mypassphrase
OIDCAuthNHeader MY_HEADER
OIDCRemoteUserClaim sub
OIDCClaimPrefix myprefix_

    ProxyPreserveHost on
    ProxyPass / http://10.10.10.10/
    ProxyPassReverse / http://10.10.10.10/

</VirtualHost>

在 Centreon 上,我们唯一要做的就是提供包含用户登录的 HTTP Header 的名称(请参阅documentation): CENTREON SSO CONF

当我转到 https://myserver.com 时,它会将我重定向到 SSO 登录页面。从这里我能够识别并且我被重定向到 Centreon 但未登录,因此它将我重定向到 Centreon 登录页面。 在中心 login.log 我有:

[WEB] No contact found with this login : ''

这表明 Centreon 在“MY_HEADER”标头中没有收到任何内容,因此 SSO 身份验证不起作用。

补充信息:(不知道是否有用): 我的 Apache 反向代理正在侦听负载均衡器后面的 http (80),该负载均衡器侦听 HTTPS (443) 并将其传输到 HTTP (80) 上的服务器

我的问题: 我不确定包含用户名的标题名称。在上面的配置中,有人可以确认 Centreon 应该收到一个包含用户名的标题“MY_HEADER”吗? 谢谢

【问题讨论】:

    标签: apache2.4 mod-auth-openidc


    【解决方案1】:

    如果您有此消息,则表示该用户可能不存在于“配置>用户>联系人/用户”中。

    也许您需要连接您的 LDAP 服务器并启用“自动导入”用户以自动导入丢失的用户。

    很久以前有一个错误,您必须在提交的“SSO 黑名单客户端地址”中填写任何电子邮件地址,否则会发送此错误 [WEB] No contact found with this login : '',你可以试试这个。

    【讨论】:

    • 该用户存在于 Centreon 用户群中。我仔细检查了相同的登录名。 “SSO 黑名单客户端地址”用于 IP 地址,而不是电子邮件地址。我尝试使用我们未使用的 IP 地址填充此字段,但它仍然返回“找不到使用此登录名的联系人”
    猜你喜欢
    • 2019-10-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    • 2019-03-14
    相关资源
    最近更新 更多