"HTTPS требуется" при входе в Keycloak в качестве администратора

enter image description here

Я использую Keycloak (version 1.0.4.Final) в JBOSS AS 7.1.1 сервере. Сервер находится на Amazon AWS.

Я могу запустить сервер jboss с помощью keycloak. я вижу экран по умолчанию для keycloak при попадании на URL-адрес - ServerIP:8080/auth

Но когда я нажимаю на ссылку Administration Console, чтобы перейти на экран входа в систему. Я получаю сообщение на странице: HTTPS required

Сервер находится на AWS, меняя его на "ssl-required" : "none", в General Adapter Config не помогло.

Как решить эту проблему?

Изменить: я не получал эту проблему в версии keycloak-1.2.0.Beta1.

Ответ 1

Если вы хотите отключить его для своей области и не имеете возможности использовать интерфейс, сделайте это непосредственно в базе данных:

update REALM set ssl_required='NONE' where id = 'master';

Ответ 2

Это довольно старо, а теперь и в версиях релиза (я использую демонстрационный пакет Keycloak 1.9.3/Developer bundle), однако немного сэкономить немного... [/p >

Теперь Keycloak по умолчанию использует HTTPS для всех внешних IP-адресов. К сожалению, из того, что я могу сказать, экземпляр Wildfly, который поставляется вместе с демо-пакетом, НЕ поддерживает HTTPS. Делает для безумного умолчания, если вы устанавливаете Keycloak на удаленном компьютере, так как нет эффективного доступа к консоли администратора Keycloak.

На этом этапе у вас есть два варианта; 1) Установите HTTPS в Wildfly или 2) Tunnel через SSH на удаленный компьютер и проксируйте через него свой браузер, перейдите в консоль администратора и отключите требование SSL (настройки Realm → Login → Require SSL). Это работает, потому что SSL не требуется для локальных подключений.

Не забудьте сначала создать пользователя admin, перейдя в $KEYCLOAK_HOME/keycloak/bin и запустив. /add -user-keycloak -r master -u < > -p < > . Этот добавочный пользователь script не является интерактивным, как пользователь Wildfly add script, вам нужно поместить все это в командную строку.

Надеюсь, это поможет!

Ответ 3

Вы можете использовать средство администрирования командной строки keycloak, чтобы изменить параметр, если он может аутентифицироваться на локальном IP-адресе. Вы можете временно запустить Keycloak на localhost, чтобы внести это изменение.

kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin
kcadm.sh update realms/realmname -s sslRequired=NONE

Очевидно, что обязательно замените имена областей, имя пользователя, порт и т.д. По мере необходимости.

Для получения дополнительной информации о начале работы с CLI администратора см. Документацию: http://www.keycloak.org/docs/3.3/server_admin/topics/admin-cli.html.

Ответ 4

Я запускал плащ-ключ в контейнере док-станции, инструмент командной строки keycloak был доступен внутри контейнера плащ-ключа.

docker exec -it {contaierID} bash
cd keycloak/bin
./kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin
./kcadm.sh update realms/master -s sslRequired=NONE

Если пользователь с правами администратора не создан, то пользователь может быть создан с помощью этой команды.

./add-user-keycloak.sh --server http://ip_address_of_the_server:8080/admin --realm master --user admin --password adminPassword

Ответ 5

Наивное решение

Если вы google this, вы получите руководство пользователя keyclayak, который сообщает вам установить

  "ssl-required" : "none",

в конфигурации общего адаптера. В нем говорится:

Значение по умолчанию - это внешнее значение, которое HTTPS требуется для по умолчанию для внешних запросов. Допустимыми значениями являются "все", "внешние" и 'Ни'.

(подумайте, прежде чем использовать это в производстве, хотя)

Альтернативное решение

В в списке рассылки проблема возникла и на нее ответил

Вы можете включить SSL на AWS (настоятельно рекомендуется!) или изменить настройки через консоль администратора (вам нужно либо использовать SSL туннель или https, чтобы сделать это, хотя).

Что касается SSL на AWS, посмотрите эту ссылку.

Ответ 6

Просто зайдите в консоль администратора Keycloak, нажмите Realm Settings, перейдите в Login, а затем установите для параметра Требование SSL значение none. Сделайте это, если вы все еще находитесь в стадии тестирования и еще не реализовали SSL.

Ответ 7

Я тестировал в Docker Keycloak: выяснить, что: Настройки области → Логин → Требовать SSL и отключить. или docker exec YOUR_DOCKER_NAME/opt/jboss/keycloak/bin/jboss-cli.sh --connect\"/subsystem = undertow/server = default-server/http-listener = default: read-resource"