Дополнительный экран логина

Привет. Столкнулся с такой задачей. Может кто подскажет подходящие механизмы или может уже был подобный опыт.

Хочется реализовать отдельный логин для авторизации в приложении с помощью какого-либо sso провайдера или же LDAP аутентификации. Но при этом сохранить стандартную аутентификацию по обычному логин-скрину.

Я создал отдельный экран логина со своим кастомным LoginProvider. Назначил ему @Route, добавил возможность использовать экраны не аутентифицируясь cuba.web.allowAnonymousAccess. Задал параметры подключения к внешнему провайдеру аутентификации. Всё ок, авторизация и так и так проходит с разных логин-скринов. Но появились две проблемы:

  1. Каким образом делать логаут на нужный логин-скрин после выхода из приложения? Видел, что можно с помощью Events перехватить эвент логаута и перенаправить на внешнюю ссылку. С внешней ссылкой - ок. Работает. Но если перенаправлять на кастомный экран логина, то он по какой-то причине отказывается прогружаться и только после F5 в браузере загружается нормально.
    custom

  2. Аналогично каким образом сделать корректный редирект на кастомный логин, если пользователь пришел по отдельной ссылке? Сейчас редиректит на стандартный экран логина.