Для настройки работы с Keycloak необходимо выполнить следующие шаги:
Запустите Keycloak на сервере с помощью следующей команды:
sudo docker run --name keycloak -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=password -p 8080:8080 jboss/keycloak
гдеKEYCLOAK_USER
– логин, который используется для входа в консоль администратора в Keycloak.KEYCLOAK_PASSWORD
– пароль для входа в консоль администратора в Keycloak.8080
– стандартный порт Keycloak для работы по HTTP. При работе с HTTPS используется порт8443
.Откройте в браузере консоль администратора Keycloak по адресу:
{домен_Keycloak}/auth/admin
На платформе Visiology в панели администрирования перейдите на вкладку Основные > Авторизация > OpenID Connect > Основные настройки:
На вкладке Основные настройки заполните следующие поля (звездочкой помечены обязательные поля):
Поле | Описание |
---|---|
UserName claim* | Можно указать любое наименование из токена, например, |
Repsonse type* | Проверка аутентификации. Доступные значения: |
Authentication scheme* | Схема аутентификации. |
Authority* |
|
Client id* | Наименование клиента из Keycloak. |
Client secret | Скопируйте секрет в настройках клиента в Keycloak на вкладке Credentials и вставьте в это поле. |
Callback path* | Необязательный ограниченный путь для обработки обратного вызова аутентификации. |
Scope* | Список запрашиваемых разрешений. |
Resourse | Идентификатор ресурса, к которому будет запрошен доступ. |
Claims source | Доступные значения:
|
Примеры настройки с использованием различных типов ответа (поле Response type)
Проверка аутентификации через Implicit Flow (id_token)
Настройки в Keycloak | Настройки на платформе Visiology |
---|
Проверка аутентификации через Authorization Сode (code)
Примеры настройки при использовании различных значений в поле Claims source
При выборе значения в поле Claims source, необходимо включить соответствующую опцию в Keycloak в настройках Mappers клиента:
При использовании
userinfo endpoint
необходимо активировать опцию Add to userinfo.При использовании
id_token
необходимо активировать опцию Add to ID token.При использовании
access_token
необходимо активировать опцию Add to access token.
Если вы настроили что-то неверно, то можно выключить, а затем включить внешнюю авторизацию с помощью скрипта.
Для этого на сервере нужно выполнить следующие команды:
ID=$(sudo docker ps | grep visiology_admin | awk '{print $1}') sudo docker exec -it $ID sh node administrator-tools/change-auth-type/index.js
По умолчанию скрипт работает на выключение.
Смотрите также