这是一个创建于 4600 天前的主题,其中的信息可能已经有所发展或是发生改变。
仅仅是按照官方文档中,写了一个谷歌认证的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'
为啥会出现这个错误啊。。。求助各位大神。。。
4 条回复 • 1970-01-01 08:00:00 +08:00
|
|
2
ant_sz 2012-04-07 00:54:43 +08:00
原来是dns的原因啊。。。我试试换dns
|
|
|
3
ant_sz 2012-04-07 00:58:20 +08:00
@ Livid 果然如此。。。感谢Livid~~~~~~~ 噗,这个问题只会在本地测试时出现么?
|
|
|
4
Livid 2012-04-07 00:59:16 +08:00
@ ant_sz 服务器上用的肯定是 IDC 的 DNS,所以实际部署之后是不会有问题的。
|