2016-10-12 14 views
0

Я работаю над использованием SAML2.0 и интегрируюсь с Okta. Я пробовал использовать весна-безопасность, приведенную на сайте okta, и она работает нормально. Теперь я пытаюсь добавить мое веб-приложение в okat, и когда я начинаю или нажимаю на свое веб-приложение в панели okta, я хочу посмотреть, какое утверждение SAML отправляется поставщику услуг. Я хочу прочитать имя пользователя, фамилию, на которой можно указать страницу index.jsp в моем веб-приложении.Как читать ответ утверждения SAML Okta на получение веб-приложения (поставщика услуг)

Я вижу на своих журналах tomcat следующий отпечаток.

INFO org.opensaml.common.binding.security.SAMLProtocolMessageXMLSignatureSecurityPolicyRule - Проверка сообщений протокола подписи удалось, сообщение типа: {урна: оазис: имена: дц: SAML: 2.0: протокол} Ответ

Но когда я попробуйте получить объект SecurityContextHolder.getContext(). getAuthentication() в index.jsp. Я получаю null.

Пользователь создан в Okta и назначен для приложения. Но этот пользователь не существует в моей базе данных веб-приложений. Все, что я хочу увидеть, - это пользователь, созданный в Okta, отправлен в мое веб-приложение. Я просто хочу прочитать метаданные, как firstname, lastname и т. Д. Возможно ли это? Кто-то попробовал?

Мое веб-приложение уже использует CasAuthentication.

+0

Забыл отметить, что при входе в систему с существующим пользователем и попытке доступа к index.jsp, я вижу объект SecurityContextHolder.getContext(). Создан объект getAuthentication(), но он показывает, что он аутентифицирован с помощью casAuthentication, которая является очевидной. Но не знаю, как я могу прочитать информацию о пользователе, исходящую из Okta, прежде чем войти в веб-приложение SP. – trextrex

ответ

0

Я нашел ответ на свой вопрос. Публикация здесь для сверстников, которые могут столкнуться с подобной проблемой.

В принципе, если вы используете более одного менеджера аутентификации, убедитесь, что имена псевдонимов youar разные, и вы ссылаетесь на правильное имя псевдонима в фазах saml в разделе «ref». Моя работала нормально, как только я ее исправил.