Что это значит

Keycloak работает за обратным прокси: nginx или балансировщик принимает HTTPS и передаёт запрос дальше по HTTP. Если Keycloak не настроен доверять заголовкам прокси, он видит обычный HTTP и выдаёт cookie без признака Secure. Современные браузеры такие cookie не отправляют в межсайтовых POST-запросах, а на них построена часть сценариев входа (ответ провайдера через форму, вход из другого приложения). Пользователь видит повторную страницу входа или ошибку после ввода пароля.

Второе предупреждение Likely misconfiguration detected. When using an edge proxy, you must use proxy-headers прямо подсказывает, чего не хватает.

Как проверить

  1. С какой схемой Keycloak сам себя называет:
curl -s https://sso.example.ru/realms/<realm>/.well-known/openid-configuration | jq -r .issuer

Если в ответе http://, Keycloak не знает про HTTPS снаружи.

  1. Передаёт ли прокси заголовки X-Forwarded-Proto, X-Forwarded-Host и X-Forwarded-For, или стандартный Forwarded.
  2. Параметры запуска Keycloak: proxy-headers, hostname, http-enabled.

Что сделать

  1. Включить разбор заголовков прокси: --proxy-headers=xforwarded (или forwarded, если прокси шлёт стандартный заголовок Forwarded).
  2. Задать внешний адрес полностью: --hostname=https://sso.example.ru.
  3. Проверить, что прокси передаёт заголовки и перезаписывает их, а не дописывает к тем, что прислал клиент.
  4. После перезапуска убедиться, что issuer в openid-configuration начинается с https://.