Исправь зацикливание Keycloak submit
This commit is contained in:
11
README.md
11
README.md
@@ -357,7 +357,7 @@ curl -fsSL https://git.dokops.ru/dokril/lemana-vpn/raw/branch/main/install.sh \
|
||||
|
||||
## Runtime-патчи openconnect-lite
|
||||
|
||||
`openconnect-lite` работает, но для текущей macOS + Keycloak SSO цепочки ему нужны три runtime-патча. CLI применяет их перед подключением в файле:
|
||||
`openconnect-lite` работает, но для текущей macOS + Keycloak SSO цепочки ему нужны runtime-патчи. CLI применяет их перед подключением в файле:
|
||||
|
||||
```sh
|
||||
~/.local/pipx/venvs/openconnect-lite/lib/python*/site-packages/openconnect_lite/browser/webengine_process.py
|
||||
@@ -370,6 +370,7 @@ curl -fsSL https://git.dokops.ru/dokril/lemana-vpn/raw/branch/main/install.sh \
|
||||
| `minimal -> offscreen` | Меняет Qt platform mode для скрытого браузера | `minimal` падает с Qt WebEngine на macOS |
|
||||
| `input/change events` | После `value = ...` отправляет DOM events | Keycloak не реагирует на прямую запись value |
|
||||
| `URL guard` | Проверяет `location.href` через `new RegExp(...)` перед auto-fill | Qt игнорирует `@include`, без guard auto-fill может кликнуть Cisco ACS и сломать SAML |
|
||||
| `submit click guard` | Кликает submit один раз на страницу и только после заполнения поля | Без guard hidden-браузер может зациклиться на Keycloak `login-actions/authenticate` |
|
||||
|
||||
Перед первым изменением CLI сохраняет оригинальный файл:
|
||||
|
||||
@@ -405,6 +406,13 @@ tail -f ~/Library/Logs/LemanaVPN-openconnect-lite.log
|
||||
|
||||
В обычном режиме CLI также печатает heartbeat `Still waiting for SSO/openconnect-lite...`, чтобы было понятно, что процесс живой. В `vpn-debug` дополнительно показываются raw-логи и видимый браузер.
|
||||
|
||||
Если в логе повторяется один и тот же URL вида `employee.auth.lemanapro.ru/realms/employee/login-actions/authenticate`, значит hidden-браузер застрял на Keycloak до перехода в Cisco ACS. Сначала обнови и примени runtime-патчи без подключения:
|
||||
|
||||
```sh
|
||||
curl -fsSL https://git.dokops.ru/dokril/lemana-vpn/raw/branch/main/install.sh | sh
|
||||
vpn-lemanapro.sh --patch-only
|
||||
```
|
||||
|
||||
Если SSO ломается после обновления `openconnect-lite`, запусти:
|
||||
|
||||
```sh
|
||||
@@ -418,6 +426,7 @@ CLI перед подключением патчит `openconnect-lite`:
|
||||
- `minimal` -> `offscreen`, чтобы Qt WebEngine не падал на macOS;
|
||||
- добавляет `input` и `change` events для Keycloak auto-fill;
|
||||
- добавляет URL guard, чтобы auto-fill не кликал submit на Cisco ACS.
|
||||
- добавляет submit click guard, чтобы auto-fill не отправлял одну и ту же Keycloak форму бесконечно.
|
||||
|
||||
## Удаление
|
||||
|
||||
|
||||
Reference in New Issue
Block a user