Я обновляю Keycloak с 9.x до 12.x в среде разработки. Сначала я скопировал некоторые пользовательские темы вперед и обнаружил, что стиль сильно нарушен (неудивительно). Я просмотрел свои FTL-файлы, скопировал некоторые основные изменения в свою тему, и все стало намного лучше — просто нужно исправить некоторые незначительные проблемы.
Теперь проблема. Я внес изменения в свой файл login.css, но эти изменения не отображаются в браузере. Он продолжает получать старую версию моего пользовательского файла CSS.
Что я пробовал (несколько раз для большинства из них):
Я также просмотрел весь каталог Keycloak для некоторых правил CSS, которые я удалил, и я не могу нигде найти копии «старого» файла CSS, на которые могли бы ссылаться случайно.
Также нет никаких сообщений в журнале Keycloak при загрузке файла CSS.
Я хочу выяснить, как заставить Keycloak доставлять обновленный CSS в браузер.
Слепое предположение, поэтому, пожалуйста, не вините меня, если это не сработает. (вопрос должен включать минимальный воспроизводимый пример):
Отредактируйте /opt/jboss/keycloak/standalone/configuration/standalone-ha.xml
и обновите его следующим образом:
<theme>
<staticMaxAge>-1</staticMaxAge>
<cacheThemes>false</cacheThemes>
<cacheTemplates>false</cacheTemplates>
...
</theme>
Для будущих читателей вам может понадобиться другой файл конфигурации. standalone-ha.xml
используется, если вы работаете автономно в режиме высокой доступности. Для моей среды разработки мне просто понадобился standalone.xml
. Существуют и другие файлы конфигурации для других режимов.
Это сработало для меня в локальной среде докеров, да, изменив файл standalone-ha.xml! Я менял обычный файл standalone.xml и задавался вопросом, что происходит!
Еще следует отметить, что ваш файл конфигурации может находиться в другом месте. Я нашел свой в /opt/keycloak/standalone/configuration/standalone.xml
.
как запустить/получить доступ к странице входа/регистрации локально?
У меня это сработало, когда изменил этот файл автономный.xml как показано ниже
<cacheThemes>false</cacheThemes>
<cacheTemplates>false</cacheTemplates>
Я думаю, это потому, что я использую режим одного экземпляра вместо режима кластера ha.
Помимо отключения кеша, как описано выше, вы также можете настроить URL-адреса ресурсов темы, нарушив кеш на стороне клиента. Это немного хак, но вы можете напрямую изменить часть тега ресурса URL-адреса, изменив значение миграции_модели.id базы данных.
Рекомендации:
Отличное решение, особенно для производственных сред.
Вы должны удалить путь keycloak-server\standalone\tmp\kc-gzip-cache\sbgwq или другую папку... и протестировать в браузере в режиме инкогнита.
Это сработало. Это не идеальное решение, я надеялся продолжить кеширование, и в прошлом простой перезапуск службы Keycloak очищал кеш. Думаю, я включу его снова, когда закончу свои модификации.