#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