部署在AWS上,我不想隧道到盒子并打开浏览器来禁用它。似乎存在一种配置:"ssl-required":"none",可以放在keycloak-server.json文件中,但我不确定在哪个对象下。我在“realm”下尝试过,并且没有运气。我不想在适配器级别禁用它,它需要全局禁用,那么"ssl-required":"none"在哪里,或者如何全局禁用ssh/https?(Also,我明白这在生产中是不推荐的。)
"ssl-required":"none"
keycloak-server.json
fzsnzjdm1#
在“主”领域中,在登录选项卡上。将“需要SSL”属性更改为无。如果您无法在本地访问keycloak,并且它配置了数据库(例如Postgres),则执行以下SQL语句。
update REALM set ssl_required = 'NONE' where id = 'master';
有必要重启keycloak
46scxncf2#
我运行了Keycloak admin命令来应用sslRequired=NONE。
$ docker exec -it CONTAINER-ID bash $ cd /opt/jboss/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
yiytaume3#
在我的例子中,我使用Sping Boot 的Keycloak Server。我可以通过代码从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(); } ...
holgip5t4#
我试过下面。
docker run \ --name new-keycloak \ -dti \ -p 8080:8080 \ -e KEYCLOAK_ADMIN=admin \ -e KEYCLOAK_ADMIN_PASSWORD=admin \ -e KC_HOSTNAME=localhost \ -e KC_HOSTNAME_STRICT=false \ -e KC_HOSTNAME_STRICT_HTTPS=false \ -e KC_HTTP_ENABLED=true \ quay.io/keycloak/keycloak:20.0.2 \ start-dev
但是它仍然需要HTTPS。在搜索了更多之后,我看到了一个答案,可以像下面这样做。我在启动容器时没有使用任何4个“KC_”环境变量。然后我进入容器并像这样使用kcadm.sh:
cd /opt/keycloak/bin ./kcadm.sh config credentials --server http://localhost:8080 --realm master --user admin ./kcadm.sh update realms/master -s sslRequired=NONE
然后它就像一个魅力。
4条答案
按热度按时间fzsnzjdm1#
在“主”领域中,在登录选项卡上。将“需要SSL”属性更改为无。
如果您无法在本地访问keycloak,并且它配置了数据库(例如Postgres),则执行以下SQL语句。
有必要重启keycloak
46scxncf2#
我运行了Keycloak admin命令来应用sslRequired=NONE。
如果您不知道用户名和/或密码,我建议您运行:
yiytaume3#
在我的例子中,我使用Sping Boot 的Keycloak Server。我可以通过代码从Master Realm更改sslRequired,扩展KeycloakApplication:
holgip5t4#
我试过下面。
但是它仍然需要HTTPS。在搜索了更多之后,我看到了一个答案,可以像下面这样做。
我在启动容器时没有使用任何4个“KC_”环境变量。然后我进入容器并像这样使用kcadm.sh:
然后它就像一个魅力。