第三方认证
优质
小牛编辑
120浏览
2023-12-01
Tornado 的 auth
模块实现了现在很多流行站点的用户认证方式,包括 Google/Gmail、Facebook、Twitter、Yahoo 以及 FriendFeed。这个模块可以让用户使用 这些站点的账户来登陆你自己的应用,然后你就可以在授权的条件下访问原站点的一些服 务,比如下载用户的地址薄,在 Twitter 上发推等。
下面的例子使用了 Google 的账户认证,Google 账户的身份被保存到 cookie 当中,以便 以后的访问使用:
class GoogleHandler(tornado.web.RequestHandler, tornado.auth.GoogleMixin):
@tornado.web.asynchronous
def get(self):
if self.get_argument("openid.mode", None):
self.get_authenticated_user(self._on_auth)
return
self.authenticate_redirect()
def _on_auth(self, user):
if not user:
self.authenticate_redirect()
return
# Save the user with, e.g., set_secure_cookie()
请查看 auth
模块的代码文档以了解更多的细节。