Проблемы аутентификации 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