1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-keycloak

Клонировать/Скачать
tests.md 12 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 03:20 34f1376

Выполнение тестов

Запуск тестов

Рекомендуется ознакомиться с ../testsuite/integration-arquillian/HOW-TO-RUN.md.

Браузер

В наборе тестов используется Selenium. По умолчанию он использует WebDriver HtmlUnit, но также может быть выполнен с Chrome или Firefox.

Чтобы запустить тесты с Firefox, добавьте -Dbrowser=firefox, а для Chrome — -Dbrowser=chrome.

База данных

По умолчанию в наборе тестов используется встроенная база данных H2. Для тестирования с другими базами данных см. раздел «Тестирование базы данных» (tests-db.md).

Тестовые утилиты

Все утилиты можно выполнить из каталога testsuite/utils:

cd testsuite/utils

Сервер Keycloak

Для запуска базового сервера Keycloak для тестирования выполните:

mvn exec:java -Pkeycloak-server

или запустите org.keycloak.testsuite.KeycloakServer из вашей любимой IDE!

При запуске сервера также можно импортировать область из файла json:

mvn exec:java -Pkeycloak-server -Dimport=testrealm.json

При запуске сервера транспорт https можно настроить, установив хранилище ключей, содержащее сертификат сервера, и порт https, при необходимости установив хранилище доверенных сертификатов.

mvn exec:java -Pkeycloak-server \
    -Djavax.net.ssl.trustStore=/path/to/truststore.jks \
    -Djavax.net.ssl.keyStore=/path/to/keystore.jks \
    -Djavax.net.ssl.keyStorePassword=CHANGEME \
    -Dkeycloak.port.https=8443

Конфигурация

KeycloakServer можно настроить с помощью системных свойств или через файл ~/.keycloak-server.properties. Использование файла позволяет сохранять настройки и может быть более удобным при работе из IDE.

Доступные параметры включают:

Ключ Описание
keycloak.port Установить порт HTTP для сервера
keycloak.port.https Установить порт HTTPS для сервера
keycloak.bind.address Установить адрес привязки для сервера
resources Загружает ресурсы темы непосредственно из рабочей области и отключает кэширование
keycloak.theme.dir Указывает альтернативное местоположение для загрузки пользовательских тем из
keycloak.theme.cacheTemplates Отключает кэширование шаблонов тем
keyclock.theme.cacheThemes Отключает кеширование тем
keycloak.theme.staticMaxAge Устанавливает максимальный возраст клиентского кэша для ресурсов темы
import Импортирует область json при запуске

Администратор по умолчанию

Администратор по умолчанию в основной области создаётся с учётными данными:

  • Имя пользователя: admin
  • Пароль: admin

Сервер тестового набора Keycloak автоматически создаст нового пользователя основной области при выполнении следующих условий:

  • Свойство keycloak.createAdminUser установлено на true (по умолчанию true, если не указано)
  • В основной области нет существующего пользователя.

Живое редактирование HTML и стилей

Сервер Keycloak может загружать ресурсы непосредственно из файловой системы вместо пути к классам. Это позволяет редактировать HTML, стили и обновлять изображения без перезапуска сервера. Чтобы сервер использовал ресурсы из файловой системы, начните с:

mvn exec:java -Pkeycloak-server -Dresources

Вы также можете указать каталог тем, используемый сервером, с помощью:

mvn exec:java -Pkeycloak-server -Dkeycloak.theme.dir=<PATH TO THEMES DIR>

Например, чтобы использовать примеры тем, запустите сервер с:

mvn exec:java -Pkeycloak-server -Dkeycloak.theme.dir=examples/themes

ПРИМЕЧАНИЕ: Если указан keycloak.theme.dir, то темы по умолчанию (base, rcue и keycloak) загружаются из пути к классам.

Коды TOTP

Чтобы сгенерировать коды TOTP без Google Authenticator, выполните:

mvn exec:java -Ptotp

или запустите org.keycloak.testsuite.TotpGenerator из вашей любимой IDE!

После запуска скопируйте/вставьте секрет TOTP и нажмите Enter. Почтовый сервер

Чтобы запустить тестовый почтовый сервер для тестирования отправки электронной почты, выполните:

mvn exec:java -Pmail-server

или запустите org.keycloak.testsuite.MailServer из вашей любимой IDE!

Для настройки Keycloak для использования вышеуказанного сервера добавьте следующие системные свойства:

keycloak.mail.smtp.from=auto@keycloak.org
keycloak.mail.smtp.host=localhost
keycloak.mail.smtp.port=3025

Например, если вы используете тестовые утилиты, запустите сервер Keycloak с помощью:

mvn exec:java -Pkeycloak-server -Dkeycloak.mail.smtp.from=auto@keycloak.org -Dkeycloak.mail.smtp.host=localhost -Dkeycloak.mail.smtp.port=3025

Сервер LDAP

Чтобы запустить сервер LDAP на основе ApacheDS для тестирования отправки LDAP, выполните:

 mvn exec:java -Pldap

Существуют дополнительные системные свойства, которые можно использовать для настройки (подробности см. в классе LDAPEmbeddedServer). После этого вы можете создать провайдера федерации LDAP в консоли администратора Keycloak со следующими настройками:

  • Поставщик: Другой
  • URL подключения: ldap://localhost:10389
  • Суффикс DN пользователя: ou=People,dc=keycloak,dc=org
  • Привязка DN: uid=admin,ou=system
  • Учётные данные привязки: secret

Сервер Kerberos

Чтобы запустить сервер Kerberos на основе ApacheDS для тестирования Kerberos + LDAP, выполните:

mvn exec:java -Pkerberos

Существуют дополнительные системные свойства, которые можно использовать для настройки (см. классы LDAPEmbeddedServer и KerberosEmbeddedServer для получения подробной информации), но для целей тестирования значения по умолчанию должны быть подходящими. По умолчанию сервер ApacheDS LDAP будет работать на localhost:10389, а сервер Kerberos KDC — на localhost:6088.

Альтернативой является запуск Kerberos с альтернативной областью KC2.COM вместо KEYCLOAK.ORG по умолчанию. В этом случае сервер ApacheDS будет запущен со всеми портами, сдвинутыми на 1000 (например, LDAP на 11389, Kerberos KDC на 7088). Это позволяет запускать два сервера Kerberos параллельно для проверки таких вещей, как доверие между областями Kerberos:

mvn exec:java -Pkerberos -Dkeycloak.kerberos.realm=KC2.COM

После запуска Kerberos вы можете создать провайдер федерации LDAP в консоли администрирования Keycloak с теми же настройками, что и в предыдущем разделе LDAP. Но дополнительно вы можете включить аутентификацию Kerberos в провайдере LDAP со следующими настройками:

  • Область Kerberos: KEYCLOAK.ORG
  • Основной сервер: HTTP/localhost@KEYCLOAK.ORG
  • KeyTab: $KEYCLOAK_SOURCES/testsuite/integration-arquillian/tests/base/src/test/resources/kerberos/http.keytab (замените $KEYCLOAK_SOURCES правильным абсолютным путём к вашим источникам)

Как только вы это сделаете, вам также следует убедиться, что ваш файл конфигурации клиента Kerberos правильно настроен с доменом KEYCLOAK.ORG. См. ../testsuite/integration-arquillian/tests/base/src/test/resources/kerberos/test-krb5.conf для вдохновения. Расположение файла конфигурации Kerberos зависит от платформы (в Linux это файл /etc/krb5.conf).

Затем вам нужно настроить свой браузер, чтобы разрешить SPNEGO/Kerberos-логин с localhost.

Точные шаги снова зависят от браузера. Для Firefox см., например, http://www.microhowto.info/howto/configure_firefox_to_authenticate_using_spnego_and_kerberos.html. URI localhost должен быть разрешён в опции конфигурации network.negotiate-auth.trusted-uris.

В Chrome вам просто нужно запустить браузер с командой, подобной этой (более подробная информация содержится в документации Chrome):

/usr/bin/google-chrome-stable --auth-server-whitelist="localhost"

Наконец, проверьте интеграцию, получив билет Kerberos. Во многих ОС вы можете сделать это, выполнив команду из CMD, подобную этой:

kinit hnelson@KEYCLOAK.ORG

и предоставив пароль secret.

Теперь, когда вы обращаетесь к http://localhost:8081/auth/realms/master/account, вы должны автоматически войти в систему как пользователь hnelson.

Простой балансировщик нагрузки

Вы можете запустить класс SimpleUndertowLoadBalancer из...

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-keycloak.git
git@api.gitlife.ru:oschina-mirror/mirrors-keycloak.git
oschina-mirror
mirrors-keycloak
mirrors-keycloak
main