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

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

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

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

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

и увидеть, что объект учетных записей не присутствует после входа в систему, если я не на моем компьютере разработчика.

Какой будет хороший путь для расследования после этого?

1 ответ

Решение

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

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

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

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

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

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

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

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

Другие вопросы по тегам