2016-10-13 2 views
1

Согласно OneLogin documentation, последние шаги войти в систему пользователем через вызовы API являются:OneLogin - как я могу перенаправить пользователя на другую страницу после успешного входа?

  1. Сформировать session_token и отправить его через форму POST к OneLogin URL
  2. Сервер OneLogin затем начать сеанс для вас и возвратите cookie httpOnly, специфичный для домена, в ваш браузер.
  3. Признайте, что форма POST возвращается статус 302 редирект и отправить пользователя на другую страницу

Мой вопрос как вы должны обрабатывать # 3? Особенно в отношении файла cookie, который возвращается.

В документации говорится:

В вашем фактическом приложение, вам нужно включить логику, чтобы посмотреть на редиректа и вести себя соответствующим образом. Ваше приложение начинается с запроса POST, но после получения успешного ответа он должен иметь возможность признать, что пользователь теперь зарегистрирован и отвечает соответствующим образом на , в котором, например, отображается зарегистрированное состояние для пользователя.

Как посмотреть перенаправление из сообщения формы?

Я могу это сделать, если я создам сервлет, мой браузер вызывает сервлет, и я эмулирую сообщение формы на задней панели. Но теперь возвращенный файл cookie подходит только для моего вызова сервлетов. Если я попытаюсь передать его обратно в мой браузер, он будет отклонен из-за того, что поле домена не соответствует моему первоначальному запросу. По крайней мере, я предполагаю, что это то, что происходит ... Я немного расплывчатый.

Я не могу выполнить форму сообщения через вызов AJAX из-за «httpOnly» аспекта файла cookie. Этот атрибут запрещает большинство браузеров.

Итак, как эта часть предназначалась для работы? Есть ли более простой способ? Как кому-то удалось справиться с этим? Моя конечная цель - просто отправить аутентифицированного пользователя на мою собственную страницу портала, но я не могу как успешно распознать ответ формы, так и правильно установить cookie браузера.

Любое понимание оценено. Я использую FireFox 49 и Tomcat 7, если это помогает.

ответ

0

Поток, в двух словах, это:

Get сессии маркер. Точка выхода сеанса с конечной точки OneLogin со страницы входа. OneLogin примет токен, и он установит файлы cookie сеанса в домене OneLogin и перенаправит обратно на исходную страницу, которая была отправлена ​​на него.

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

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

Сказав все это, мы ожидаем, что в течение следующих нескольких недель мы сможем обойти эту совместимость с конечной точкой CORS, так что вы сможете сделать вызов AJAX и не иметь дело со всем этим перенаправлением.

Смежные вопросы