我正在尝试在Twitter的servlet上运行OAuth实现。我在将用户重定向到Twitter身份验证页面时遇到了麻烦。当我收到回调时,它已返回到servlet,但是会话不同,因为请求来自Twitter,而不是我的WebApp。

我尝试使用EncodeRedirectUrl将会话持续到外部站点,但这无效。需要帮忙!

没有正确的解决方案

其他提示

您必须将会话ID添加为 jsessionid 回调URL的片段。 Twitter必须回到 http://example.com/callbackservlet; (注意:JSessionId值在这里只是一个示例)。

HttpServletResponse#encodeRedirectURL() (和 encodeURL())当客户端已经支持cookie时,不会编码URL。您需要自己对其进行刻密编码。

String url = "http://example.com/callbackservlet";
String encodedURL = url + ";jsessionid=" + request.getSession().getId();
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top