HAProxy, Keycloak с x509 - PullRequest
       182

HAProxy, Keycloak с x509

0 голосов
/ 04 августа 2020

У меня есть HAProxy в качестве обратного прокси для моего приложения с аутентификацией x509. HAProxy выполняет проверку X509 (на основе сертификата клиента) и добавляет сертификат обратно в заголовок запроса SSL_CLIENT_CERT. Теперь я хочу идентифицировать пользователя по сертификату с помощью Keycloak. У меня есть поток аутентификации Keycloak, как указано в do c, и моя конфигурация haproxy выглядит следующим образом:

frontend http-frontend
    bind *:8888
    bind *:8888 transparent ssl crt /etc/x509/https/haproxy.pem ca-file /etc/x509/https/myCA.pem verify required
    http-request redirect scheme https if !{ ssl_fc }
    http-request set-header SSL_CLIENT_CERT %[ssl_c_der,base64]
    default_backend app1

backend app1
    server server1 host.docker.internal:8443/auth/realms/ng/protocol/openid-connect/auth ssl verify none
  1. Каким должен быть URL-адрес Keycloak, который будет перенаправляться с HAProxy?
  2. Обязателен ли заголовок CERT_CHAIN (если да, то как его получить. Ssl_c_der содержит сертификат сервера с эмитентом. Должен ли я разделить их?)
  3. После извлечения пользователя Keycloak будет перенаправлять на URL в клиенте. Если да, как мне указать имя клиента в HAProxy?
  4. Какие должны быть настройки для этого c `client '? (oidc / public / standard-flow)
  5. Как приложение получит токен доступа после перенаправления?

Я также пытался перенаправить запрос в веб-приложение из HAProxy и попробуйте войти в систему через поток кода авторизации. Но Keycloak выдает ошибку, возможно, потому, что у меня только x509 username form execution в пользовательском потоке аутентификации браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...