新浪博客

更改keycloak超级用户admin密码(keycloak运行在Kubernetes里)

2021-03-06 13:29阅读:
环境: keycloak 服务部署在k8s里面,keycloak使用的是postgresql数据库,数据库名dev3 模式名uc
第一步:生产密码json文件
1、进入keycloak对应的Pod里面(例如:pod名称为keycloak-0 ,命名空间名称为:dev3)
#kubectl exec -it keycloak-0 -n dev3 -- bash
2、进入keycloak目录并创建密码文件
#cd /opt/jboss/keycloak/
#./bin/add-user-keycloak.sh -r master -u admin -p admin
Added 'admin' to '/opt/jboss/keycloak/standalone/configuration/keycloak-add-user.json', restart server to load user
由于未做数据持久化,重启服务是无法加载刚刚生成的json配置文件,查看文件内容并记录下来。
bash-4.4$ cat /opt/jboss/keycloak/standalone/configuration/keycloak-add-user.json
[ {
'realm' : 'master',
'users' : [ {
'username' : 'admin',
'enabled' : true,
'credentials' : [ {
'type' : 'password',
'secretData' : '{'value':'SoDY3+kaF1XfNyraTJyK0g1zzst3mMfu7D11rLbekn4QiCsyNTx09nCVhy70UvAHwdcYeL1D9WKn3hAWaaMFsQ==','salt':'+j8I299h+lkI+4oHf+SuMQ=='}',
'credentialData' : '{'hashIterations':100000,'algorithm':'pbkdf2-sha256'}'
} ],
'realmRoles' : [ 'admin' ]
} ]
} ]
bash-4.4$ exit
二、登录数据库修改表credential表记录
用上面生成的json配置文件里面secretData和credentialData键值替换 dev3库中uc模式下的credential表中的secret_data和credential_data记录值。(注意要将双引号前面的\符合去掉,更改之前可以参考原来记录值书写格式)
三、重启keycloak服务
测试发现,只有重启keycloak服务更改才生效。




我的更多文章

下载客户端阅读体验更佳

APP专享