仅仅是按照官方文档中,写了一个谷歌认证的Handler如下:
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")
print user
但是在实际使用中却出现问题了
登陆到google后成功返回,但是_on_auth函数却没能正确的识别出User
抛出错误如下:
CertificateError: hostname u'
www.google.com' doesn't match either of '*.gstatic.com', '
gstatic.com', '*.metric.gstatic.com'
WARNING:root:Invalid OpenID response: hostname u'
www.google.com' doesn't match either of '*.gstatic.com', '
gstatic.com', '*.metric.gstatic.com'
为啥会出现这个错误啊。。。求助各位大神。。。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/31566
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.