Вручную сохранить токен Crowd SSO в файле cookie?

Я пытаюсь внедрить SSO с помощью Atlassian Crowd, но на удивление не хватает хорошей документации или даже примеров.

До сих пор я аутентифицировал пользователя с помощью CrowdClient.authenticateSSOUser и в случае успеха возвращал токен единого входа (строку). Затем я беру этот токен и сам запихиваю его в куки (через HttpServletResponse). При последующих посещениях страницы я беру все файлы cookie, ищу этот, а затем вызываю для него метод CrowdClient.validateSSOAuthentication.

У меня такой вопрос: должен ли я использовать больше кода Crowd для единого входа? Кажется, я делаю больше вручную, чем ожидал.

...Я вижу намеки на другие возможности... Например:

  1. В crowd.properties вы можете указать crowd.token_key, по-видимому, это имя, которое приложение должно использовать для хранения токена в файле cookie (хотя установка этого значения не волшебным образом сделать это)

  2. Такие вещи, как CrowdHttpTokenHelper существуют в последней версии, но, похоже, не имеют легко находимых связанных примеров (или документации, кроме JavaDoc).


person jcovert    schedule 26.11.2012    source источник


Ответы (1)


Да, есть возможности, которые, надеюсь, помогут или, по крайней мере, послужат ориентиром.

Для легкодоступной реализации вы можете изучить интеграцию Crowd с Весенняя безопасность.

Если вам нужен более точный контроль, используйте CrowdHttpAuthenticator. Это позволит вам аутентифицировать запрос с помощью имени пользователя и пароля, а также проверить, есть ли у сеанса существующий файл cookie сеанса. (Его конкретная реализация будет принимать свойства и использует crowd.token_key.)

CrowdClient доступен, если они не не соответствует вашим потребностям, но это не единственный вариант.

person Joe    schedule 30.07.2013