4

我正在使用 python-social-auth 在本地实现 twitter 登录,但出现 401 客户端错误。我的 django 版本是 1.6。

Traceback:
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py" in get_response
  112.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Library/Python/2.7/site-packages/social/apps/django_app/utils.py" in wrapper
  45.             return func(request, backend, *args, **kwargs)
File "/Library/Python/2.7/site-packages/social/apps/django_app/views.py" in auth
  12.     return do_auth(request.social_strategy, redirect_name=REDIRECT_FIELD_NAME)
File "/Library/Python/2.7/site-packages/social/actions.py" in do_auth
  25.     return strategy.start()
File "/Library/Python/2.7/site-packages/social/strategies/base.py" in start
  66.             return self.redirect(self.backend.auth_url())
File "/Library/Python/2.7/site-packages/social/backends/oauth.py" in auth_url
  99.         token = self.set_unauthorized_token()
File "/Library/Python/2.7/site-packages/social/backends/oauth.py" in set_unauthorized_token
  158.         token = self.unauthorized_token()
File "/Library/Python/2.7/site-packages/social/backends/oauth.py" in unauthorized_token
  177.                                 method=self.REQUEST_TOKEN_METHOD)
File "/Library/Python/2.7/site-packages/social/backends/base.py" in request
  205.         response.raise_for_status()
File "/Library/Python/2.7/site-packages/requests/models.py" in raise_for_status
  808.             raise HTTPError(http_error_msg, response=self)

Exception Type: HTTPError at /login/twitter/
Exception Value: 401 Client Error: Authorization Required

文档中建议安装 ntp。我不知道如何安装 ntp。

4

2 回答 2

6

事实证明,我在 twitter 应用程序控制台中将回调 url 字段留空。虽然,这不是必需的,但是放置http://127.0.0.1:8000/complete/twitter/(注意最后的斜线)完成了这项工作。

于 2014-09-27T07:49:06.223 回答
2

另请注意,如果您将最后的“/”留在回调 URL 的末尾,您将收到此错误。它应该读

http://127.0.0.1:8000/complete/twitter/
于 2015-08-19T07:16:56.813 回答