嘿所有......我一直在阅读龙卷风文档并且遇到了开放的id mixin所以我想我自己“邪恶的没有可怕的密码系统在我身边”然后我研究了如何实现它,我来的唯一例子这是
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.async_callback(self._on_auth))
return
self.authenticate_redirect()
def _on_auth(self, user):
if not user:
raise tornado.web.HTTPError(500, "Google auth failed")
其中没有显示更大的图片,如路线,appsettings等 #使用例如set_secure_cookie()
保存用户所以我的问题是。这如何适应龙卷风现场的大局。
答案 0 :(得分:6)
此处理程序不依赖于应用程序的其他部分,您只需将其设置为url conf中的“/ login / google”,并在您网站的某个位置放置此URL的链接。
用户点击它并被重定向到谷歌身份验证页面(如果它已退出谷歌)或要求授予访问他/她的基本信息的权限的页面。如果用户接受 - 浏览器被重定向回此url处理程序并且控制权转到 _on_auth 方法,其中用户对象(如果存在)包含带有用户电子邮件,名称,位置设置和其他一堆的dict stuff(只需将此变量转储到日志中即可查看所有内容)。
此时您可以使用此数据执行任何操作,但通常它看起来像这样: