使用ASP.NET MVC,会话存储在SQL数据库中(从未遇到过问题,并且没有使用Web场)。也使用Twitterizer2库。使用Firefox。
任何deas?
答案 0 :(得分:0)
我想问一下你是如何在没有cookie的情况下第一次维持会话的?
我认为问题可能出在cookie设置过程中。我也在几周之前遇到过类似的问题。
问题在于,当我请求REQUEST令牌时,此请求是内部HTTP请求(不是通过用户浏览器)。作为对此请求的响应,我获得REQUEST令牌,然后在用户会话中设置它。
$token = getRequestToken();
$_SESSION['token'] = $token;
但是,如果用户在没有会话的情况下第一次来到我的网站,他就没有会话cookie来发送给我。在网站内部,我为他创建了一个会话,并将令牌存储在其中,但是然后不是向他发送包含cookie头的响应,以便他“接受”我的会话,我重定向到提供者授权端点。这样,用户就不会获得会话cookie,当他返回时,他就像是我网站的新用户。
这是发生在我身上的流程:
- 在数据库中创建用户会话
- setcookie(usersession)//将标题添加到最终回复
- 获取请求令牌
- 在会话中设置令牌
- 重定向用户(用户未收到会话cookie)
- 用户转到授权点
- 用户返回,但他是我的新用户
醇>
我有兴趣知道你是否有类似的问题:) 最好的问候
答案 1 :(得分:0)
检查请求和回调域是否相同
即。您正在从localhost请求oauth并回调到127.0.0.1