Как мне настроить тему внутри встроенной клавиатуры spring boot?

#java #keycloak

#java #keycloak

Вопрос:

в настоящее время используется keycloak, встроенный в spring boot. Я создал темы в разделе ресурсы, чтобы создать пользовательскую тему. Он был зарегистрирован в keycloak-server.json следующим образом.

 "theme": {
    "staticMaxAge": "${keycloak.theme.staticMaxAge:2592000}",
    "cacheTemplates": "${keycloak.theme.cacheTemplates:true}",
    "cacheThemes": "${keycloak.theme.cacheThemes:true}",
    "folder": {
        "dir": "src/main/resources/themes"
    }
}
  

Хотя это отлично работает в локальной среде. Он не работает при запуске с файлом jar.
Причина, похоже, в неправильном поиске пути. Есть ли какое-либо решение для этого?

Ответ №1:

У меня была точно такая же проблема. Я развернул свое приложение в AWS ElasticBeanstalk, но мне не удалось настроить Keycloak, чтобы правильно найти папку themes.

Я перепробовал все варианты, о которых мог подумать:

  • в папке /tmp
  • /BOOT-INF
  • и просто /темы

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

В итоге я загрузил папку themes отдельно в домашнюю папку, вручную изменив файл keycloak-server.json следующим образом:

 "folder": { "dir": "/home/ec2-user/themes" }
  

Однако мне не удалось получить это значение динамически из файла application.property.

Ответ №2:

Создайте keycloak-themes.json файл внутри src/main/resources/META-INF и добавьте содержимое ниже.

 {
  "themes": [{
    "name" : "custom",
    "types": [ "login", "account", "welcome" ]
  }]
}
  

скомпилируйте с помощью maven и запустите jar. java -jar <jar name> .

Для получения дополнительной информации обратитесь к этому https://wjw465150.gitbooks.io/keycloak-documentation/content/server_development/topics/themes.html