как обрабатывать SSO редирект в Ваадине 14 - PullRequest
1 голос
/ 24 февраля 2020

У нас есть приложение Vaadin 14 (Flow), для которого используется обратный прокси-сервер Apache, который интегрируется с Gluu для аутентификации.

Если сеанс больше недействителен, либо из-за тайм-аута сеанса или выхода из системы в другой вкладке / окне браузера сервер Apache отправит перенаправление на сервер Gluu, чтобы позволить пользователю снова войти в систему. Однако, когда это происходит для внутреннего вызова Vaadin XHR (запрос Ajax), Vaadin, похоже, не очень хорошо обрабатывает этот ответ и выдает ошибку «Недопустимый JSON ответ от сервера».

Я хочу, чтобы Vaadin установил в браузере URL-адрес, указанный в перенаправлении, или перефразировал sh страницу (возможно, с сообщением о подтверждении между), и в этом случае браузер будет хорошо следовать перенаправлению. Как этого добиться или какие еще есть варианты?

1 Ответ

2 голосов
/ 25 февраля 2020

Если ответ XHR не может быть проанализирован как JSON, Vaadin будет искать строку Vaadin-Refresh в любом месте текста ответа. Если он присутствует, то Vaadin перезагрузит страницу вместо отображения сообщения об ошибке. При желании вы можете использовать формат Vaadin-Refresh: <url>, который будет перенаправлять Vaadin на <url> вместо перезагрузки текущего местоположения.

Вы можете настроить Gluu на включение этой строки, например, комментария HTML в ответ отправлено, когда пользователю необходимо войти в систему.

...