全局禁用 https keycloak
Globally disable https keycloak
部署在 AWS 上,我不想通过隧道打开浏览器来禁用它。
似乎存在一个配置:"ssl-required":"none"
可以放在keycloak-server.json
文件中,但我不确定在哪个对象下。我已经在 "realm" 下尝试过,但没有成功。
我不想在适配器级别禁用它,它需要全局禁用,那么 "ssl-required":"none"
到哪里去了,或者 ssh/https 如何全局禁用?
(另外,据我所知,在生产中不推荐这样做。)
在 "master" 领域,在登录选项卡上。将 'Require SSL' 属性 更改为 none.
如果你无法在本地访问keycloak,并且它配置了一个数据库,例如Postgres,那么执行下面的SQL句。
update REALM set ssl_required = 'NONE' where id = 'master';
需要重启keycloak
我是 运行 de 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
如果你不知道用户 and/ou 密码我推荐 运行:
$ ./add-user-keycloak.sh --server http://localhost:8080/admin --realm master --user admin --password YOUR-PASSWORD
就我而言,我正在使用带有 Spring Boot 的 Keycloak 服务器。
我可以通过代码从 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();
}
...
部署在 AWS 上,我不想通过隧道打开浏览器来禁用它。
似乎存在一个配置:"ssl-required":"none"
可以放在keycloak-server.json
文件中,但我不确定在哪个对象下。我已经在 "realm" 下尝试过,但没有成功。
我不想在适配器级别禁用它,它需要全局禁用,那么 "ssl-required":"none"
到哪里去了,或者 ssh/https 如何全局禁用?
(另外,据我所知,在生产中不推荐这样做。)
在 "master" 领域,在登录选项卡上。将 'Require SSL' 属性 更改为 none.
如果你无法在本地访问keycloak,并且它配置了一个数据库,例如Postgres,那么执行下面的SQL句。
update REALM set ssl_required = 'NONE' where id = 'master';
需要重启keycloak
我是 运行 de 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
如果你不知道用户 and/ou 密码我推荐 运行:
$ ./add-user-keycloak.sh --server http://localhost:8080/admin --realm master --user admin --password YOUR-PASSWORD
就我而言,我正在使用带有 Spring Boot 的 Keycloak 服务器。 我可以通过代码从 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();
}
...