keycloak предоставляет разные эмитенты для внешнего и внутреннего интерфейса

Я новичок в keycloak, я использую keycloak как для внешнего, так и для внутреннего приложения, но я получаю другой эмитент в токене, созданном keycloak при декодировании в jwt.io.

Внешний интерфейс:

  • эмитент совпадает с базовым URL-адресом внешнего приложения
  • Например:

    Если внешний URL-адрес https://example.org/portal, то эмитент такой же, как https://example.org/auth.

Запрос через почтальона:

  • эмитент - внутреннее DNS-имя

Я пробовал следующие способы,

  1. Перенаправление прокси (с сохранением хоста) - генерирует эмитент с базовым URL-адресом внешнего интерфейса.
  2. Перенаправление прокси без сохранения хоста - который ожидает, что частный DNS будет разрешен во внешнем приложении.
  3. Поигрался с конфигурацией keycloak - обновил frontendUrl до https://example.org/auth и forceBackendUrlToFrontendUrl до true, что привело к тому, что бэкэнд и интерфейс был одним и тем же эмитентом, но без имени хоста, такого как https: / auth / relam / external(см. № 2 в ссылка).

Ожидаемый результат:

  • Мне нужно, чтобы частный DNS выдавал как запрос от внешнего интерфейса, так и от бэкэнда (сейчас он работает с прямым бэкэнд-запросом)

Заранее спасибо.

Ссылка

  1. https://github.com/keycloak/keycloak-community/blob/master/design/hostname-default-provider.md
  2. Блок кода

<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>

0 ответов

Другие вопросы по тегам