Keycloak CSS не обновляется в браузере

Я обновляю Keycloak с 9.x до 12.x в среде разработки. Сначала я скопировал некоторые пользовательские темы вперед и обнаружил, что стиль сильно нарушен (неудивительно). Я просмотрел свои FTL-файлы, скопировал некоторые основные изменения в свою тему, и все стало намного лучше — просто нужно исправить некоторые незначительные проблемы.

Теперь проблема. Я внес изменения в свой файл login.css, но эти изменения не отображаются в браузере. Он продолжает получать старую версию моего пользовательского файла CSS.

Что я пробовал (несколько раз для большинства из них):

  • Очистить кеш браузера
  • Перезапустить Keycloak
  • Проверьте права собственности/права доступа к файлам темы
  • Перезагрузите весь сервер
  • Загрузить файл CSS напрямую
  • Загрузить файл CSS напрямую с добавленным бессмысленным параметром (пытаясь обойти любое возможное кеширование посредника)
  • Подтвердите, что работает новая версия Keycloak
  • Загрузить страницу в других браузерах

Я также просмотрел весь каталог Keycloak для некоторых правил CSS, которые я удалил, и я не могу нигде найти копии «старого» файла CSS, на которые могли бы ссылаться случайно.

Также нет никаких сообщений в журнале Keycloak при загрузке файла CSS.

Я хочу выяснить, как заставить Keycloak доставлять обновленный CSS в браузер.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
0
8 654
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Слепое предположение, поэтому, пожалуйста, не вините меня, если это не сработает. (вопрос должен включать минимальный воспроизводимый пример):

Отредактируйте /opt/jboss/keycloak/standalone/configuration/standalone-ha.xml и обновите его следующим образом:

<theme>
  <staticMaxAge>-1</staticMaxAge>
  <cacheThemes>false</cacheThemes>
  <cacheTemplates>false</cacheTemplates>
  
  ...
  
</theme>

Это сработало. Это не идеальное решение, я надеялся продолжить кеширование, и в прошлом простой перезапуск службы Keycloak очищал кеш. Думаю, я включу его снова, когда закончу свои модификации.

thelr 22.12.2020 13:50

Для будущих читателей вам может понадобиться другой файл конфигурации. standalone-ha.xml используется, если вы работаете автономно в режиме высокой доступности. Для моей среды разработки мне просто понадобился standalone.xml. Существуют и другие файлы конфигурации для других режимов.

thelr 22.12.2020 13:51

Это сработало для меня в локальной среде докеров, да, изменив файл standalone-ha.xml! Я менял обычный файл standalone.xml и задавался вопросом, что происходит!

openJT 19.03.2021 03:44

Еще следует отметить, что ваш файл конфигурации может находиться в другом месте. Я нашел свой в /opt/keycloak/standalone/configuration/standalone.xml.

Ewan Roycroft 12.11.2021 11:38

как запустить/получить доступ к странице входа/регистрации локально?

Jyoti Duhan 20.12.2021 13:00

У меня это сработало, когда изменил этот файл автономный.xml как показано ниже

<cacheThemes>false</cacheThemes>
<cacheTemplates>false</cacheTemplates>

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

Помимо отключения кеша, как описано выше, вы также можете настроить URL-адреса ресурсов темы, нарушив кеш на стороне клиента. Это немного хак, но вы можете напрямую изменить часть тега ресурса URL-адреса, изменив значение миграции_модели.id базы данных.

Рекомендации:

Отличное решение, особенно для производственных сред.

thelr 26.04.2022 16:39

Вы должны удалить путь keycloak-server\standalone\tmp\kc-gzip-cache\sbgwq или другую папку... и протестировать в браузере в режиме инкогнита.

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