Пример настройки для Keycloak
Вы можете использовать любой identity-провайдер. В нашем примере мы продемонстрируем, как настроить Keycloak для аутентификации.
Для настройки работы с 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
|
---|
Проверка аутентификации через Implicit Flow при использовании userinfo endpoint
в качестве Claims source
Настройки в Keycloak | Настройки на платформе Visiology
|
Проверка аутентификации через Authorization Сode (code)
Настройки в Keycloak
| Настройки на платформе Visiology
|
---|
Примеры настройки с использованием различных значений в поле Claims source
При выборе значения в поле Claims source, необходимо включить соответствующую опцию в Keycloak в настройках Mappers клиента:
При использовании
userinfo endpoint
необходимо активировать опцию Add to userinfo.При использовании
id_token
необходимо активировать опцию Add to ID token.При использовании
access_token
необходимо активировать опцию Add to access token.
Настройки при использовании значения id_token
Настройки в Keycloak
| Настройки на платформе Visiology
|
---|
Настройки при использовании значения userinfo endpoint
Настройки в Keycloak | Настройки на платформе Visiology |
Настройки при использовании значения access_token
Настройки в Keycloak | Настройки на платформе Visiology |
Если вы настроили что-то неверно, то можно выключить, а затем включить внешнюю авторизацию с помощью скрипта.
Для этого на сервере нужно выполнить следующие команды:
ID=$(sudo docker ps | grep visiology_admin | awk '{print $1}')
sudo docker exec -it $ID sh
node administrator-tools/change-auth-type/index.js
По умолчанию скрипт работает на выключение.
Смотрите также