Keycloak / mod_auth_openidc под обратным прокси - PullRequest
0 голосов
/ 14 мая 2019

У меня есть целевая страница для моего openid, которая будет перенаправлена ​​на Keycloak, если еще не авторизована, а затем будет перенаправлена ​​на мою целевую страницу после проверки. Я использовал свой сервер ключей под Apache mod_proxy.

Конфигурация прошла успешно. Теперь моя проблема в том, что, хотя мои приложения (Gitbucket и Jenkins) используют одну и ту же область для моего mod_auth_openidc, мне все равно нужно войти в систему для приложений (настройка SSO), даже если я уже был проверен при доступе к моей целевой странице. Пожалуйста, смотрите изображение по ссылке: https://ibb.co/VND01SY ! https://ibb.co/VND01SY

    DocumentRoot "/var/www/html"
    DirectoryIndex index.html index. cgi index.php index.shtml

    <Proxy "balancer://apache_mod_proxy">
            BalancerMember "http://192.168.122.125:8080"
    </Proxy>

    ProxyPreserveHost On
    ProxyPass "/auth/" "balancer://apache_mod_proxy/auth/"
    ProxyPassReverse "/auth/" "balancer://apache_mod_proxy/auth/"

    OIDCProviderMetadataURL "http://192.168.122.103/auth/realms/ci/.well-known/openid-configuration"
    OIDCClientID "apache24"
    OIDCClientName "apache24"
    OIDCClientSecret "cc251291-9254-42ef-8073-6f5b396f73cc"
    OIDCScope "openid email profile"
    OIDCProviderTokenEndPointAuth "client_secret_basic"

    OIDCRedirectURI http://192.168.122.103/test/redirect_uri
    OIDCCryptoPassphrase 0123456789
    OIDCRemoteUserClaim "preferred_username"

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

^ Это мои текущие настройки.

Мой ожидаемый результат должен быть:

Если еще не подтверждено Keycloak: 1. Откройте index.html -> перенаправьте на Keycloak, если вы первый раз авторизуетесь 2. После проверки перенаправьте на index.html (он содержит ссылки на Jenkins и Gitbucket) 3. При нажатии на ссылку для приложений мне не нужно повторно регистрироваться для той же области.

Пожалуйста, поправьте меня, если я правильно понимаю сценарий.

Я также не знаю, как использовать выход из системы и где разместить выход для целевой страницы и единого входа.

1 Ответ

0 голосов
/ 14 мая 2019

SSO для Jenkins и Gitbucket зависит от того, как эти приложения настроены на распознавание пользователя.Они должны быть настроены так, чтобы зависеть от заголовков, установленных обратным прокси-сервером, запускающим mod_auth_openidc перед ним.

...