我正在尝试将tornado.auth.TwitterMixin与回调网址一起使用,但是 我遇到了问题。 我不知道如何在Tornado中设置回调网址 应用。 这是我的类tornado.auth.TwitterMixin:
class TAuthBindingHandler(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")
tuser = self.db.get("SELECT * FROM twitterusers WHERE tid =
%s",user["id"])
bigU = self.get_current_user()
bigU_id = bigU['id']
if not tuser:
any_tuser = self.db.get("SELECT * FROM twitterusers LIMIT
1")
if not any_tuser:
tuser_id = self.db.execute(
"INSERT INTO twitterusers (name,tid,user_id)
VALUES (%s,%s,%s)",
user["name"], user["id"], bigU_id)
else:
self.redirect("/")
return
else:
pass
self.redirect(self.get_argument("next", "/"))
我的问题是,我在哪里设置回调网址?我如何设置它 这个班?
我正在使用Tornado 1.1,我的Twitter应用设置中没有设置任何回调。
我正在localhost上测试它。
最诚挚的问候。
答案 0 :(得分:2)
嘿,我不确定你是否还需要答案,但self.authorize_redirect
需要callback_uri
。所以在你的情况下,我会写self.authorize_redirect('http://localhost:8888/authentication-complete')
。我花了一段时间才搞清楚。祝你好运!