...
нажимаем кнопку "Save". Имя пользователя и значение атрибута могут не совпадать. При аутентификации необходимо вводить в качестве имени пользователя значение указанное в атрибуте "User-Name".
Что бы задать/изменить пароль пользователя переходим на вкладку "Credentials" и нажимаем кнопку "Set password":
вводим и подтверждаем пароль, нажимаем кнопку "Save".
Переходим на вкладку Groups и нажимаем кнопку "Join Group", раскрываем группу "wifi-cab" и выбираем подгруппу "default_provider":
...
Блок кода |
---|
<!-- SSO Settings --> <entry key="sso.enabled">true</entry> <entry key="sso.redirectUri">http://IP-адрес ЛК:8080/wifi-cab/sso</entry> <entry key="sso.clientSecret">HoDKUreDl0xmjUgV7p19YADAT5fvtOOG</entry> <entry key="sso.clientId">wifi-cab</entry> <entry key="sso.localauth.enabled">true</entry> <!-- SSO Auth --> <entry key="sso.auth.server.protocol">http</entry> <entry key="sso.auth.server.address">IP-адрес сервера Keycloak</entry> <entry key="sso.auth.server.port">8282</entry> <entry key="sso.auth.auth.path">/realms/softwlc/protocol/openid-connect/auth</entry> <entry key="sso.auth.logout.path">/realms/softwlc/protocol/openid-connect/logout</entry> <!-- SSO REST --> <entry key="sso.rest.server.protocol">http</entry> <entry key="sso.rest.server.address">IP-адрес сервера Keycloak</entry> <entry key="sso.rest.server.port">8282</entry> <entry key="sso.rest.server.timeout.sec">10</entry> <entry key="sso.rest.protocol.provider">keycloak</entry> <!-- rtk/keycloak --> <entry key="sso.rest.protocol.version">2.0</entry> <!--setting only matters when provider=rtk--> <entry key="sso.rest.username"></entry> <!--setting only matters when provider=rtk--> <entry key="sso.rest.password"></entry> <!--setting only matters when provider=rtk--> <entry key="sso.rest.getToken.path">/realms/SWLCsoftwlc/protocol/openid-connect/token</entry> <entry key="sso.rest.getUserInfo.path">/realms/SWLCsoftwlc/protocol/openid-connect/userinfo</entry> |
...
- <entry key="sso.clientId">wifi-cab</entry> - имя клиента, как оно указано в настройках Keycloak (Clients)
- <entry key="sso.localauth.enabled">true</entry> - разрешение локальной аутентификации в ЛК (для запрета необходимо указать "false")
- <entry key="sso.auth.server.protocol">http</entry> - тип используемого протокола
- <entry key="sso.auth.server.address">IP-адрес сервера Keycloak</entry> - адрес сервера Keycloak
- <entry key="sso.auth.server.port">8282</entry> - порт сервера Keycloak (по умолчанию 8282)
- <entry key="sso.auth.auth.path">/realms/softwlc/protocol/openid-connect/auth</entry> - после /realm/ необходимо указать имя realm, как оно создано в Keycloak
- <entry key="sso.auth.logout.path">/realms/softwlc/protocol/openid-connect/logout</entry> - после /realm/ необходимо указать имя realm, как оно создано в Keycloak
- <entry key="sso.rest.server.address">IP-адрес сервера Keycloak</entry> - адрес сервера Keycloak
- <entry key="sso.rest.server.port">8282</entry> - порт сервера Keycloak (по умолчанию 8282)
- <entry key="sso.rest.protocol.provider">keycloak</entry> - тип используемого сервера "keycloak"
- <entry key="sso.rest.getToken.path">/realms/SWLCsoftwlc/protocol/openid-connect/token</entry> - после /realm/ необходимо указать имя realm, как оно создано в Keycloak
- <entry key="sso.rest.getUserInfo.path">/realms/SWLCsoftwlc/protocol/openid-connect/userinfo</entry> - после /realm/ необходимо указать имя realm, как оно создано в Keycloak
...
Без форматирования |
---|
sudo systemctl restart eltex-ems |
Решение проблем
Если при попытке зайти в Keycloak или при выполнении авторизации появляется сообщение:
Предупреждение |
---|
По умолчанию в Keycloak в настройке "Require SSL" установлено значение "External requests". Это означает, что подключаться к серверу по протоколу HTTP смогут только пользователи из подсетей "127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/12, 172.16.0.0/12". https://www.keycloak.org/docs/latest/server_admin/#_ssl_modes |
Если данное сообщение появляется при попыке войти в административную консоль Keycloak и не требуется использовать протокол HTTPS - необходимо изменить настройку внутри контейнера:
Раскрыть | ||||||
---|---|---|---|---|---|---|
| ||||||
В данном примере предполагается что используется БД postgres. Проверить имя контейнера с БД postgres:
Выполнить команду для исправления записи в БД:
Перезапустить контейнеры:
|
Если данное сообщение появляется при попытке авторизации пользователя - необходимо открыть Realm и перейдя в раздел Realm settings в настройке "Require SSL" выбрать "None" и нажать "Save".
В случае, если редирект не происходит или страница авторизации Keycloak не открывается необходимо проверить доступность сервера с Keycloak с машины, на которой установлен комплекс SoftWLC командами:
...