URL перенаправления keycloak для обратного прокси - PullRequest
0 голосов
/ 12 февраля 2019

у меня работает keycloak на одной виртуальной машине с

keycloak.domain.com

у меня есть клиентское приложение, которое работает на другой виртуальной машине, которая работает на tomcat, как

app.domain.com

, который использует Spring Security, поэтому я выполнил настройку, как показано ниже в keycloak.json

    {
  "realm": "demo",
  "auth-server-url": "http://keycloak.domain.com:8080/auth",
  "ssl-required": "external",
  "resource": "app-client",
  "verify-token-audience": true,
  "credentials": {
    "secret": "9503a597-4c83-44ca-884e-e285891a2d32"
  },
  "use-resource-role-mappings": true,
  "confidential-port": 0
}

и мыу нас есть какой-то другой сервис, поэтому мы настроили обратный прокси-сервер Apache, например

main.domain.com

, когда я захожу на main.domain.com/app, мы выполняем проксикак показано ниже

ProxyPass /app http://app.domain.com/app nocanon
ProxyPassReverse /app http://app.domain.com/app

, мы можем перенаправить на keycloak, но redirect_uri это http://app.domain.com/app/sso/login, он должен идти через прокси

Где это настроить?или я делаю это неправильно?это какой-нибудь другой способ получить OAuth для моего приложения?

1 Ответ

0 голосов
/ 19 июня 2019

Нам удалось решить проблему, установив ProxyPreserveHost On в конфигурации apache:

<VirtualHost *:80>
ProxyPreserveHost On

Этот набор является заголовком Host в запросе, а остальное выполняет адаптер.Мы используем адаптер Servlet Keycloak, но я думаю, он должен работать и для других адаптеров.

...