我使用的是tornado和TwitterMixin,我使用以下基本代码:
class OauthTwitterHandler(BaseHandler, tornado.auth.TwitterMixin):
@tornado.web.asynchronous
def get(self):
if self.get_argument("oauth_token", None):
self.get_authenticated_user(self.async_callback(self._on_auth))
return
self.authorize_redirect()
def _on_auth(self, user):
if not user:
raise tornado.web.HTTPError(500, "Twitter auth failed")
self.write(user)
self.finish()
对我来说,它工作得很好,但有时,我的应用程序的用户会收到一个500错误,上面说: 缺少OAuth请求令牌cookie
我不知道它是来自浏览器还是来自twitter的api回调配置。 我看过龙卷风代码,不明白为什么会出现这个错误 出现。在
发生在我身上的原因是回调URL配置指向另一个域。在
请查看位于https://dev.twitter.com/apps/的应用程序的“设置”选项卡,或者如果收到错误的用户是从其他域访问您的站点的。在
请参见:http://groups.google.com/group/python-tornado/browse_thread/thread/55aa42eef42fa1ac
我找到了解决办法!!在
这是因为我的域名系统。在
我没有把重定向www.mydomain.com网站以及我的域名所以有时候cookie是在www上设置的,有时候不是这样,我的服务器没有检查好位置,没有找到cookie,然后给我发送了500个错误。在
可能发生这种情况的两个原因:
oauth_token
参数,但cookie没有设置。不确定为什么会发生这种情况,您必须记录一些日志来了解原因。在无论如何,这不是一个“错误”,而是用户没有经过身份验证的标志。如果你看到你应该把他们重定向到授权网址,让他们再试一次。在
相关问题 更多 >
编程相关推荐