gpt4 book ai didi

django - 回调中使用了错误的 sessionID,但仅在一台特定的计算机上使用

转载 作者:行者123 更新时间:2023-12-04 06:51:27 26 4
gpt4 key购买 nike

我正在编写一个使用 OAuth 的 Python/Django Web 应用程序(对于 TwitterAPI,这并不重要)。

我在我的登录函数中存储了一个 session ID,然后在使用 OAuth 获取用户的 token 后,我尝试在我的回调函数中检索 sessionID。然后回调函数总是失败(抛出异常),因为它在 session 中找不到 OAuth token 。通过调试器,我能够确定服务器使用的 session ID 不正确 - 它与登录函数中存储的 session ID 不匹配。因此,Oauth token 不存在也就不足为奇了。出现在回调中的 session 每次都是相同的(直到我尝试删除它 - 请参阅“我在下面尝试过的事情”),并且它作为一个旧 session 开始,其中一些数据来自不同的django 应用程序运行在我几周没有接触过的同一台服务器上。

关键是:我描述的所有内容仅在我们的生产服务器上存在问题,并且仅在从我的计算机连接到它时才会出现。让我澄清一下:这只发生在我的特定笔记本电脑上。我可以从其他人的计算机上正常连接到该应用程序。其他人无法在我的计算机上连接他们的帐户。此外,当应用程序在我的本地主机上使用内置 django 网络服务器运行时,我可以很好地连接到该应用程序,而不是连接到生产服务器。

我的设置:我的服务器和本地机器正在运行 = Django 1.2.0 和 Python 2.6.5。我的本地机器运行 Snow Leopard 和 Django 网络服务器,服务器运行 Ubuntu、Apache2 和 mod-wsgi。对于 session ,我使用 Django 的默认 session 后端 (DB)。

我尝试过的事情,都无济于事:

  • 使用不同的帐户登录,包括以前从未 OAuth 到此应用程序的新帐户
  • 清除 cookie,使用隐身模式,在同一台计算机上使用不同的网络浏览器。每次检查我的 cookie 时,sessionID 都与登录函数中的 sessionID 匹配,并且与回调中的 sessionID 不同。
  • 删除出现在回调函数中的数据库中的 session (似乎是旧数据的 session )。回调函数仍然失败,它似乎正在使用的 sessionID 现在是一个新的
  • 使用不同的 session 后端(数据库缓存、平面文件等...)
  • 重新启动服务器,我的电脑等。

    我关于 StackOverflow 的第一个问题,如果我没有完全遵循本地惯例,请耐心等待。我什至不知道要寻找什么 - 什么可能导致 session 在我的特定计算机上无法正常工作,并且(到目前为止!)只有我的特定计算机?

    编辑:在发布这个问题几个小时后解决了这个问题,在为此挣扎了几天之后!

    问题与我的电脑无关,是人在电脑上打字造成的!下意识地,我正在输入“www.our-domain.com”,而我所有的同事一直在输入“our-domain.com”。我们没有适当的 Apache 重写规则,因此在登录时, session ID 被设置在带有“www”的 cookie 中。作为域的一部分,但回调函数的重定向有一个没有“www.”的关联 url,所以我的浏览器使用了两个不同的 cookie,我直到现在才看到(因为我搜索的方式cookie 还包括 www!)。很简单,早该想到的。这个故事的寓意:注意 session 中的子域。
  • 最佳答案

    解决了这个问题,在发布这个问题几个小时后,在为此挣扎了几天之后!

    问题与我的电脑无关,是人在电脑上打字造成的!下意识地,我正在输入“www.our-domain.com”,而我所有的同事一直在输入“our-domain.com”。我们没有适当的 Apache 重写规则,因此在登录时, session ID 被设置在带有“www”的 cookie 中。作为域的一部分,但回调函数的重定向有一个没有“www.”的关联 url,所以我的浏览器使用了两个不同的 cookie,我直到现在才看到(因为我搜索的方式cookie 还包括 www!)。很简单,早该想到的。这个故事的寓意:注意 session 中的子域。

    关于django - 回调中使用了错误的 sessionID,但仅在一台特定的计算机上使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3067647/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com