Аутентификация для приложения Vaadin с использованием OpenID - сложность обработки перенаправлений - PullRequest
1 голос
/ 26 сентября 2011

Я пытаюсь аутентифицировать свое приложение Vaadin с помощью OpenID, и у меня возникают трудности с обработкой перенаправлений в приложении.

  1. При загрузке приложения пользователям предоставляется OpenIDУтилита входа в систему, которая представляет собой простое окно Vaadin с некоторыми кнопками, которые запускают перенаправления на отдельный сервлет аутентификации (LoginServlet)

  2. Затем LoginServlet обрабатывает перенаправление поставщику OpenID и последующее перенаправление обратно всервлет, который обрабатывает ответ аутентификации.Здесь обновляется статус безопасности (с использованием Apache Shiro), который можно проверить приложением Vaadin позже.

  3. Затем LoginServlet перенаправляет в приложение, однако в этом и заключается проблема - как обработать это перенаправление?Окно Vaadin, по-видимому, не имеет метода обработки перенаправлений.

В настоящее время кажется, что единственным вариантом является использование UriFragmentUtility.FragmentChangedListener и обеспечение уникальности перенаправления из LoginServlet с помощью UUID, обеспечивающего изменение фрагментапроисходит событие, позволяющее проверить статус аутентификации пользователя и разрешить доступ к приложению.Это, однако, является чем-то вроде взлома и приводит к грязному URIF-фрагменту.

Если у кого-то есть какие-либо лучшие идеи по интеграции OpenID и Vaadin или просто по обработке перенаправлений в Vaadin, я был бы очень признателен.

Ответы [ 2 ]

1 голос
/ 04 октября 2011

Заметили ли вы Лейф Остранд сделал в каталоге дополнение Vaadin OpenId Integration ?Может ли это сделать работу для вас?

0 голосов
/ 21 ноября 2011

Предложенный ответ связан с очень незрелым проектом, который не подходит.Я выбрал другой подход, который обрабатывает всю аутентификацию на уровне сервлета.См. Мой принятый ответ для программистов , основанный на рекомендациях в статье Создание приложений Secure Vaadin с использованием JEE6

...