Проблемы аутентификации Stormpath idSite со средами

У меня есть приложение Java, использующее Spring Boot и использующее функциональность Stormpath idSite. Когда я использую свое приложение для локального подключения к Stormpath через idSite, механизмы аутентификации работают нормально; Я могу войти в систему и получить объект Account. Это работает как в моей среде IDE, так и в автономном режиме (с запуском java -jar).

Когда я развертываю свое приложение (Uber-jar, встроенный tomcat) и запускаю его, аутентификация работает (выход из системы перенаправляется на idSite, un/pw работает). Однако, когда я возвращаюсь из входа в систему, объект com.stormpath.sdk.account.Account никогда не возвращается, хотя объект приложения.

Я написал быструю процедуру для проверки того, что возвращается в HttpServletRequest через:

Enumeration<String> e = request.getAttributeNames();
        while (e.hasMoreElements()) {
            attr += e.nextElement() + "<BR />";
        }

и увидеть, что объект Accounts отсутствует после входа в систему, если только я не нахожусь на своей машине dev.

Что было бы хорошим направлением для расследования после этого момента?


person Antonio Ciolino    schedule 14.01.2016    source источник


Ответы (1)


Похоже, вы можете столкнуться с этой проблемой, потому что ваша среда развертывания НЕ защищена SSL.

Stormpath разрешает HTTP-соединения ТОЛЬКО для локального хоста - для проверки.

Когда ваше приложение находится в любой среде развертывания, все соединения должны быть https.

Если это не https, то Stormpath НЕ будет устанавливать файл cookie учетной записи, как вы видите.

В целях тестирования вы можете использовать самозаверяющий сертификат, но вы не хотели бы иметь его в производственной среде.

Примечание. Как только вы включите SSL в своей среде развертывания, вам нужно будет обновить авторизованные URL-адреса перенаправления в настройках вашего ID-сайта, чтобы отразить это.

Надеюсь это поможет!

Полное раскрытие: я работаю на Stormpath

person afitnerd    schedule 29.01.2016