以下为个人大概理解的keycloak主题:
keycloak项目是在gitHub-keycloak原项目的基础上,做的二次开发
运维搭建keycloak平台,从Keycloak官网下载包(或者找个keycloak镜像)放在服务器下。绑定公有ip。访问keycloak平台!?
上面图片的keycloak项目,找到themes文件夹新建一个主题,例如:newTheme。这样建好了以后放在服务器下,keycloak平台读取服务器下themes主题,从而达到更新主题配置??
大部分逻辑是放在后台来搞定的
freemarker模板
1. 挖掘url.resourcesPath表达式
url.resourcesPath 代表的是 当前主题下resources路径
<link href="${url.resourcesPath}/css/login.css" rel="stylesheet" />
<div>
<img class="sys-logo" src="${url.resourcesPath}/img/sys-logo.png"/>
</div>
如:mytheme主题的login页面下新放入 style.css 文件:
themes/mytheme/login/resources/css/style.css
2. 挖掘realm.password表达式
<#if realm.password>
<form id="kc-form-login" onsubmit="login.disabled = true; return true;" action="${url.loginAction}"
method="post">
.............
<#if>
如果realm.password为ture,则展示登录表单
如果client的Access Type为public ,则realm.password 为true。 (这里通过源码查找相应依赖得到的,可查看这篇链接)
3. 后续。。遇到整理