mod_auth_openidc с обратным прокси Apache2.4 - PullRequest
0 голосов
/ 04 декабря 2018

Я пытаюсь настроить единый вход с помощью OpenID для веб-приложения Centreon.Вот архитектура: Apache 2.4 (windows) с mod_auth_openidc 2.3.9 Centreon 2.8.17

Я хочу, чтобы только один vhost аутентифицировалсячерез 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-заголовка, содержащего логин пользователя (см. документация ): CENTREON SSO CONF

Когда я перехожу на https://myserver.com, он перенаправляет меня на страницу входа в SSO.Отсюда я могу определить, и я перенаправлен в Centreon, но не вошел в систему, поэтому он перенаправляет меня на страницу входа в 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», содержащий имя пользователя?Спасибо

...