keycloak предоставляет разные эмитенты для внешнего и внутреннего интерфейса
Я новичок в keycloak, я использую keycloak как для внешнего, так и для внутреннего приложения, но я получаю другой эмитент в токене, созданном keycloak при декодировании в jwt.io.
Внешний интерфейс:
- эмитент совпадает с базовым URL-адресом внешнего приложения
- Например:
Если внешний URL-адрес https://example.org/portal, то эмитент такой же, как https://example.org/auth.
Запрос через почтальона:
- эмитент - внутреннее DNS-имя
Я пробовал следующие способы,
- Перенаправление прокси (с сохранением хоста) - генерирует эмитент с базовым URL-адресом внешнего интерфейса.
- Перенаправление прокси без сохранения хоста - который ожидает, что частный DNS будет разрешен во внешнем приложении.
- Поигрался с конфигурацией keycloak - обновил frontendUrl до https://example.org/auth и forceBackendUrlToFrontendUrl до true, что привело к тому, что бэкэнд и интерфейс был одним и тем же эмитентом, но без имени хоста, такого как https: / auth / relam / external(см. № 2 в ссылка).
Ожидаемый результат:
- Мне нужно, чтобы частный DNS выдавал как запрос от внешнего интерфейса, так и от бэкэнда (сейчас он работает с прямым бэкэнд-запросом)
Заранее спасибо.
Ссылка
- https://github.com/keycloak/keycloak-community/blob/master/design/hostname-default-provider.md
- Блок кода
<spi name="hostname">
<default-provider>fixed</default-provider>
<provider name="fixed" enabled="true">
<properties>
<property name="frontendUrl" value="https://example.org/auth"/>
<property name="forceBackendUrlToFrontendUrl" value="true"/>
</properties>
</provider>
</spi>