Pregunta

Estoy tratando de conseguir una implementación de OAuth que se ejecuta en un servlet para Twitter. Tengo problemas con redirigir al usuario a la página de autenticación de Twitter. Cuando llego a la devolución de llamada, se volvió a un servlet pero la sesión es diferente, ya que la solicitud proviene de Twitter y no mi aplicación web.

He intentado utilizar encodeRedirectURL para obtener la sesión de persistir en el sitio fuera, pero que no funciona. Necesita ayuda!

No hay solución correcta

Otros consejos

Hay que añadir el ID de sesión como un fragmento jsessionid de URL de devolución de llamada. Twitter ha de devolución de llamada para http://example.com/callbackservlet;jsessionid=1E6FEC0D14D044541DD84D2D013D29ED (nota :. el valor jsessionid aquí es sólo un ejemplo)

La HttpServletResponse#encodeRedirectURL() (y encodeURL()) no va a codificar la URL cuando el cliente ya es compatible con las galletas. Es necesario que dura a codificar por sí mismo.

String url = "http://example.com/callbackservlet";
String encodedURL = url + ";jsessionid=" + request.getSession().getId();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top