Сервлеты encodeRedirectURL - PullRequest
       3

Сервлеты encodeRedirectURL

0 голосов
/ 09 сентября 2010

Я пытаюсь запустить реализацию OAuth на сервлете для Twitter. У меня проблемы с перенаправлением пользователя на страницу аутентификации Twitter. Когда я получаю обратный вызов, он возвращается сервлету, но сеанс отличается, поскольку запрос приходит из Twitter, а не из моего веб-приложения.

Я пытался использовать encodeRedirectURL, чтобы сеанс сохранялся на внешнем сайте, но это не работает. Нужна помощь!

1 Ответ

3 голосов
/ 09 сентября 2010

Вы должны добавить идентификатор сеанса как jsessionid фрагмент URL обратного вызова.Twitter должен перезвонить на http://example.com/callbackservlet;jsessionid=1E6FEC0D14D044541DD84D2D013D29ED (примечание: значение jsessionid приведено только в качестве примера).

HttpServletResponse#encodeRedirectURL()encodeURL()) не будут кодироватьсяURL, когда клиент уже поддерживает куки.Вы должны жестко закодировать это самостоятельно.

String url = "http://example.com/callbackservlet";
String encodedURL = url + ";jsessionid=" + request.getSession().getId();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...