Чем мы можем вам помочь?

Описание проблемы:

Авторизоваться вне зависимости от ролевой модели невозможно, в случае если истек пароль для служебного пользователя с именем pgs.

При попытке авторизации возникает сообщение об ошибке Invalid login or password.

img_1

Срок действия пароля по умолчанию составляет 365 дней.

В журнале событий сервиса Aristoteles возникают следующие ошибки:

ERROR - 2024-07-16 16:37:36,306 - pgs.aristoteles - failed to get tenant with error:
None
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/tenant_model/keycloak_realm.py", line 39, in _get_admin
    admin = KeycloakAdmin(
            ^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/keycloak/keycloak_admin.py", line 91, in __init__
    ...
    ...
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/Pythagoras/Aristoteles/utils/controllers.py", line 50, in get_tenant_or_401
    raise NotAuthorizedError()
errors.http_responses.auth_errors.NotAuthorizedErrorERROR - 2024-07-16 16:37:36,310 - pgs.aristoteles - auth,    403 | 115 ms
Headers: {'X-Forwarded-For': '10.5.156.197, 10.115.34.214', 'X-Forwarded-Proto': 'https', 'X-Real-Ip': '10.115.34.214', 'Host': 'a stage host', 'Content-Length': '52', 'Accept': 'application/json', 'X-Client-Useragent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36', 'X-Forwarded-Host': 'a stage host', 'X-Forwarded-Ssl': 'on', 'Content-Type': 'application/x-www-form-urlencoded', 'User-Agent': 'lua-resty-http/0.06 (Lua) ngx_lua/10026', 'X-Pgs-Request-Id': '3e6f41533a1942f0ad1c9fbb4d494997#b517fb1cc3d533ab0d04da7723c3e4c9'}
Parameters: {'login': 'a login of user', 'password': '*****', 'expire': '259000'}
Response headers: {'Content-Type': 'application/json; charset=utf-8', 'x-request-id': 'zrefyevcwdbwrpi', 'X-pgs-request-id': '3e6f41533a1942f0ad1c9fbb4d494997#b517fb1cc3d533ab0d04da7723c3e4c9'}
Error: {'error_code': '001', 'error_msg': 'Not Authorised', 'ext_msg': 'Not ad user', 'success': 'false'}

В журнале событий сервиса Keycloak возникают следующие ошибки:

Jul 16 16:01:00 a stage stamd keycloak[51172]: 2024-07-16 16:01:00,611 WARN  [org.keycloak.events] (executor-thread-45) type=LOGIN_ERROR, realmId=master, clientId=admin-cli, userId=null, ipAddress=10.0.0.4, error=resolve_required_actions, auth_method=openid-connect, grant_type=password, client_auth_method=client-secret, username=pgs

Решение:

1.  Открыть доступ к сервису Keycloak из внешней сети, выполнив следующую команду:

docker service update --publish-add published=8091,target=8080 \
pgs-keycloak_keycloak

2.  Открыть веб-интерфейс сервиса Keycloak (адрес по умолчанию http://<domain_name>:8091/auth ).

3. Ввести имя пользователя и пароль, указанные при установке. При истекшем пароле будет получено предложение изменить истекший пароль (рис. 1). Пароль пользователя содержится в переменной KEYCLOAK_PASSWORD, расположенной в файле inventory (hosts.yml).

img0186

4. Увеличение срока жизни пароля (выполняется при необходимости).

4.1 Выбрать Realm Master (рис. 1).

img0187

4.2 Перейти в раздел Аuthentication и открыть вкладку Policies (рис. 1).

img0188

4.3 Установить срок жизни пароля данного Realm.

Был ли материал полезным?
Да
Нет
Предыдущее
Ошибка установки RedisInit
Следующее
Окончание срока действия пароля для пользователя APP-CO