Falta el error de cookie de token de solicitud OAuth al usar tornado y TwitterMixin

Estoy usando tornado y TwitterMixin y uso el siguiente código básico:

class OauthTwitterHandler(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") self.write(user) self.finish() 

Para mí, funciona muy bien, pero a veces, los usuarios de mi aplicación reciben un error 500 que dice: Falta la cookie del token de solicitud OAuth

No sé si proviene del navegador o de la configuración de callback de la API de Twitter. He revisado el código del tornado y no entiendo por qué aparece este error.

Dos razones por las que esto podría suceder:

  1. Algunos usuarios pueden tener desactivadas las cookies, en cuyo caso esto no funcionará.
  2. La cookie no se ha autenticado. Es posible que el argumento oauth_token esté establecido, pero la cookie no lo está. No está seguro de por qué sucedería esto, tendría que registrar algún registro para entender por qué.

En cualquier caso, esto no es un “error”, sino una señal de que el usuario no está autenticado. Tal vez si ve que debería simplemente redirigirlos a la URL de autorización y dejar que intenten nuevamente.

¡¡Encontré la solución !!

Fue debido a mi DNS.

No puse la redirección para http://www.mydomain.com y mydomain.com, por lo que a veces la cookie se configuró en www. Y a veces no, entonces mi servidor no comprobó el buen lugar, no encontró la cookie y luego me envió un error 500.

La razón por la que me estaba ocurriendo esto es que la configuración de la URL de callback estaba apuntando a un dominio diferente.

Mire la pestaña de configuración de su aplicación en https://dev.twitter.com/apps/ o si los usuarios que reciben el error acceden a su sitio desde un dominio diferente.

Consulte: http://groups.google.com/group/python-tornado/browse_thread/thread/55aa42eef42fa1ac