Серлеты encoderedirecturl
Вопрос
Я пытаюсь получить реализацию OAUTH на сервлете для Twitter. У меня проблемы с перенаправлением пользователя на страницу аутентификации Twitter. Когда я получаю обратный вызов, он возвращается на сервлет, но сеанс отличается, поскольку запрос поступает из Twitter, а не мой WebApp.
Я пытался использовать Encodedirecturl, чтобы получить сеанс, чтобы сохраниться на внешний сайт, но это не работает. Нужна помощь!
Нет правильного решения
Другие советы
Вы должны добавить идентификатор сеанса как jsessionid
Фрагмент обратного вызова URL. Twitter должен обратный вызов http://example.com/callbackservletserta ;jsessive=1E6fec0d14d044541dd84d2d013d29ed. (Примечание. Значение jsessiD здесь просто пример).
То HttpServletResponse#encodeRedirectURL()
(а также encodeURL()
) Не будет кодировать URL-адрес, когда клиент уже поддерживает файлы cookie. Вам нужно сами жестко кодировать.
String url = "http://example.com/callbackservlet";
String encodedURL = url + ";jsessionid=" + request.getSession().getId();