Я пытаюсь настроить единый вход с помощью 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», содержащий имя пользователя?Спасибо