Мы используем Spring Boot v2.0.4 + Spring Cloud (выпуск Finchley).
Мы развернули Zuul, Auth Server, Eureka и Config Server, каждый в своих отдельных приложениях / процессах. У нас развернуто полдюжины наших собственных сервисов. Мы используем аутентификацию OAuth2 для всех сервисов. Мы используем встроенный контейнер undertow для всех приложений.
Когда Zuul использует встроенный контейнер Undertow, мы не можем войти в систему - страница входа снова отображается, даже если учетные данные верны. Когда Zuul переключается на использование встроенного контейнера Tomcat, все работает правильно - вход приводит к правильной странице пользователя. (Все остальные приложения используют Undertow в обоих случаях.)
Когда мы отлаживаем запросы, поступающие через Zuul для Tomcat против Undertow, мы видим, что атрибут сеанса SPRING_SECURITY_CONTEXT устанавливается для Tomcat, но не устанавливается для Undertow. Я предполагаю, что это означает, что пользователь будет перенаправлен обратно на страницу входа, поэтому мы наблюдаем такое поведение.
Мы знаем, что это проблема с Zuul + Tomcat и Undertow, поскольку конфигурация всех других приложений остается точно такой же.
Есть идеи? Мы действительно ломаем голову над этим.