Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTPError at /complete/twitter/ #485

Closed
trevlovett opened this issue Oct 10, 2012 · 9 comments
Closed

HTTPError at /complete/twitter/ #485

trevlovett opened this issue Oct 10, 2012 · 9 comments

Comments

@trevlovett
Copy link

Using tip-of-trunk. Twitter sign-ins suddenly don't complete

[10/Oct/2012 22:14:10] "GET /login/twitter/?next= HTTP/1.1" 302 0
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 111, in get_response
response = callback(request, _callback_args, *_callback_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/csrf.py", line 39, in wrapped_view
resp = view_func(_args, *_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/csrf.py", line 52, in wrapped_view
return view_func(_args, *_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django_social_auth-0.7.6-py2.7.egg/social_auth/decorators.py", line 39, in wrapper
return func(request, backend, _args, *_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django_social_auth-0.7.6-py2.7.egg/social_auth/views.py", line 39, in complete
return complete_process(request, backend, _args, *_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django_social_auth-0.7.6-py2.7.egg/social_auth/views.py", line 97, in complete_process
user = auth_complete(request, backend, _args, *_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django_social_auth-0.7.6-py2.7.egg/social_auth/views.py", line 170, in auth_complete
return backend.auth_complete(user=user, request=request, _args, *_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django_social_auth-0.7.6-py2.7.egg/social_auth/backends/twitter.py", line 87, in auth_complete
return super(TwitterAuth, self).auth_complete(_args, *_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django_social_auth-0.7.6-py2.7.egg/social_auth/backends/init.py", line 601, in auth_complete
data = self.user_data(access_token)
File "/usr/local/lib/python2.7/dist-packages/django_social_auth-0.7.6-py2.7.egg/social_auth/backends/twitter.py", line 76, in user_data
json = self.fetch_response(request)
File "/usr/local/lib/python2.7/dist-packages/django_social_auth-0.7.6-py2.7.egg/social_auth/backends/init.py", line 635, in fetch_response
response = dsa_urlopen(request.to_url())
File "/usr/local/lib/python2.7/dist-packages/django_social_auth-0.7.6-py2.7.egg/social_auth/utils.py", line 263, in dsa_urlopen
return urlopen(_args, *_kwargs)
File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 406, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 519, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 444, in error
return self._call_chain(_args)
File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
result = func(_args)
File "/usr/lib/python2.7/urllib2.py", line 527, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 404: Not Found

@omab omab closed this as completed in 5a1ecda Oct 10, 2012
@omab
Copy link
Owner

omab commented Oct 10, 2012

Thanks for the report, I've update the path to the problematic API.

@selwin
Copy link

selwin commented Oct 11, 2012

@omab Any chance that this change can be pushed to pypi? I'm affected by this issue as well.

@omab
Copy link
Owner

omab commented Oct 11, 2012

@selwin, v0.7.7 released

@selwin
Copy link

selwin commented Oct 11, 2012

@omab Thanks a lot! :)

@edulix
Copy link

edulix commented Oct 11, 2012

I'm getting a similar login error, and I've update to 0.7.7 already (pip freeze confirms it):

Request Method: GET
Request URL: http://local.dev:8000/complete/twitter/?oauth_token=ES8m8aTiHoZpa6nCxUJZ6dz2W9LCuo8MLmH6EpBinn0&oauth_verifier=jBQ5RYAX0t4UxCiEAtY6tiiAVpg2ZqieaBpJxr7Vk8

Django Version: 1.4
Python Version: 2.7.3
Installed Applications:
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.staticfiles',
'django.contrib.messages',
'django.contrib.admin',
'django.contrib.admindocs',
'django.contrib.comments',
'django.contrib.staticfiles',
'django.contrib.markup',
'django.contrib.flatpages',
'debug_toolbar',
'reversion',
'south',
'guardian',
'easy_thumbnails',
'userena',
'rosetta',
'actstream',
'social_auth',
'crispy_forms',
'agora_site.agora_core',
'agora_site.accounts',
'endless_pagination',
'haystack',
'dajaxice',
'djcelery')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.transaction.TransactionMiddleware',
'reversion.middleware.RevisionMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')

Traceback:
File "/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response

  1.                     response = callback(request, _callback_args, *_callback_kwargs)
    
    File "/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/django/views/decorators/csrf.py" in wrapped_view
  2.     return view_func(_args, *_kwargs)
    
    File "/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/decorators.py" in wrapper
  3.             return func(request, backend, _args, *_kwargs)
    
    File "/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/views.py" in complete
  4.     return complete_process(request, backend, _args, *_kwargs)
    
    File "/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/views.py" in complete_process
  5. user = auth_complete(request, backend, _args, *_kwargs)
    
    File "/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/views.py" in auth_complete
  6. return backend.auth_complete(user=user, request=request, _args, *_kwargs)
    
    File "/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/backends/twitter.py" in auth_complete
  7.         return super(TwitterAuth, self).auth_complete(_args, *_kwargs)
    
    File "/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/backends/init.py" in auth_complete
  8.     data = self.user_data(access_token)
    
    File "/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/backends/twitter.py" in user_data
  9.     json = self.fetch_response(request)
    
    File "/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/backends/init.py" in fetch_response
  10.     response = dsa_urlopen(request.to_url())
    
    File "/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/utils.py" in dsa_urlopen
  11. return urlopen(_args, *_kwargs)
    
    File "/usr/lib64/python2.7/urllib2.py" in urlopen
  12. return _opener.open(url, data, timeout)
    
    File "/usr/lib64/python2.7/urllib2.py" in open
  13.         response = meth(req, response)
    
    File "/usr/lib64/python2.7/urllib2.py" in http_response
  14.             'http', request, response, code, msg, hdrs)
    
    File "/usr/lib64/python2.7/urllib2.py" in error
  15.         return self._call_chain(*args)
    
    File "/usr/lib64/python2.7/urllib2.py" in _call_chain
  16.         result = func(*args)
    
    File "/usr/lib64/python2.7/urllib2.py" in http_error_default
  17.     raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
    

Exception Type: HTTPError at /complete/twitter/
Exception Value: HTTP Error 404: Not Found

@omab
Copy link
Owner

omab commented Oct 11, 2012

@edulix, that's and odd, I'm not able to reproduce it, which is the value printed if you do:

from social_auth.backends.twitter import TWITTER_CHECK_AUTH

print TWITTER_CHECK_AUTH

@edulix
Copy link

edulix commented Oct 11, 2012

As I'm using v0.7.7 it prints https://api.twitter.com/1.1/account/verify_credentials.json. I've been debugging, take a look at this debugging session:

/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/views.py(159)auth_complete()
158 import ipdb; ipdb.set_trace()
--> 159 if user and not user.is_authenticated():
160 user = None

ipdb>
ipdb>
ipdb>
ipdb> from social_auth.backends.twitter import TWITTER_CHECK_AUTH
ipdb>
ipdb> print TWITTER_CHECK_AUTH
https://api.twitter.com/1.1/account/verify_credentials.json

/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/views.py(162)auth_complete()
161
--> 162 if request.session.get(PIPELINE_KEY):
163 data = request.session.pop(PIPELINE_KEY)

ipdb> user
ipdb> request.session.get(PIPELINE_KEY)
ipdb> n

/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/views.py(171)auth_complete()
170 _xargs, *_xkwargs)
--> 171 return backend.auth_complete(user=user, request=request, _args, *_kwargs)
172

ipdb> s
--Call--

/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/backends/twitter.py(83)auth_complete()
82
---> 83 def auth_complete(self, _args, *_kwargs):
84 """Completes login process, must return user instance"""

ipdb> n

/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/backends/twitter.py(85)auth_complete()
84 """Completes login process, must return user instance"""
---> 85 if 'denied' in self.data:
86 raise AuthCanceled(self)

ipdb> n

/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/backends/twitter.py(88)auth_complete()
87 else:
---> 88 return super(TwitterAuth, self).auth_complete(_args, *_kwargs)
89

ipdb> self.data
MergeDict(< QueryDict: {}>, <QueryDict: {u'oauth_verifier': [u'jBQ5RYAX0t4UxCiEAtY6tiiAVpg2ZqieaBpJxr7Vk8'], u'oauth_token': [u'ES8m8aTiHoZpa6nCxUJZ6dz2W9LCuo8MLmH6EpBinn0']}>)
ipdb> s
--Call--

/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/backends/init.py(583)auth_complete()
582
--> 583 def auth_complete(self, _args, *_kwargs):
584 """Return user, might be logged in"""

ipdb> n

/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/backends/init.py(585)auth_complete()
584 """Return user, might be logged in"""
--> 585 name = self.AUTH_BACKEND.name + 'unauthorized_token_name'
586 unauthed_token = self.request.session.get(name)

ipdb> n

/home/edulix/proyectos/wadobo/agora/agora-ciudadana/env/lib/python2.7/site-packages/social_auth/backends/init.py(586)auth_complete()
585 name = self.AUTH_BACKEND.name + 'unauthorized_token_name'
--> 586 unauthed_token = self.request.session.get(name)
587 if not unauthed_token:

ipdb> name
'twitterunauthorized_token_name'

By the way it was working correctly yesterday, and some users of my open source application (https://agoravoting.com) has already reported to me the same problem, in fact that's how I found it. BTW, if it's of any help, your demo in (http://social.matiasaguirre.net/ , I click in Oauth > Twitter) doesn't work for me either, though it maybe that because it's using the old 0.7.6, I don't know. Finally, I've added you to gmail chat if you need a more interactive debugging session =).

@edulix
Copy link

edulix commented Oct 11, 2012

False alarm, it's working here now. I was reusing the same oauth request token and that was the problem

@ghost
Copy link

ghost commented Oct 11, 2012

Same thing happened here, solved by upgrading. Again thanks a lot @omab !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants