全局禁用https keycloak

时间:2016-07-12 20:00:48

标签: ssl https keycloak

部署在AWS上,我不希望隧道到框并打开浏览器来禁用它。

似乎存在一个配置:eval可以放在"ssl-required":"none"文件中,但我不知道在哪个对象下。我已经在"领域"并且本身没有运气。

我不想在适配器级别禁用它,它需要全局,所以keycloak-server.json去哪里,或者如何全局禁用ssh / https?

(另外,我知道在制作中不推荐这样做。)

3 个答案:

答案 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