部署在AWS上,我不希望隧道到框并打开浏览器来禁用它。
似乎存在一个配置:eval
可以放在"ssl-required":"none"
文件中,但我不知道在哪个对象下。我已经在"领域"并且本身没有运气。
我不想在适配器级别禁用它,它需要全局,所以keycloak-server.json
去哪里,或者如何全局禁用ssh / https?
(另外,我知道在制作中不推荐这样做。)
答案 0 :(得分:16)
在“主”领域,登录标签。将“需要SSL”属性更改为无。
如果你无法在本地访问keycloak并且它配置了一个数据库,例如Postgres,那么执行以下SQL语句。
update REALM set ssl_required = 'NONE' where id = 'master';
必须重启keycloak
答案 1 :(得分:1)
我的情况是,我将 Keycloak Server 与 Spring Boot 一起使用。 我可以通过代码从 Master Realm 更改 sslRequired,扩展 KeycloakApplication:
public class EmbeddedKeycloakApplication extends KeycloakApplication {
...
public EmbeddedKeycloakApplication() {
super();
changeMasterRealm();
...
}
private void changeMasterRealm() {
KeycloakSession session = getSessionFactory().create();
try {
session.getTransactionManager().begin();
RealmManager manager = new RealmManager(session);
manager.getRealm("master").setSslRequired(SslRequired.NONE);
session.getTransactionManager().commit();
} catch (Exception ex) {
session.getTransactionManager().rollback();
}
...
答案 2 :(得分:0)
我是通过Keycloak admin命令运行的,以应用sslRequired = NONE。
$ docker exec -it CONTAINER-ID bash
$ cd keycloak/bin/
-- Run authenticate
$ ./kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin
-- Apply sslRequired to none
$ ./kcadm.sh update realms/master -s sslRequired=NONE
如果您不知道用户名和/或密码,建议您运行:
$ ./add-user-keycloak.sh --server http://localhost:8080/admin --realm master --user admin --password YOUR-PASSWORD