We used to be on Django-Social-Auth. Now we're trying to upgrade to Django 1.7 but are having problems with authenticating via GitHub. Error when returned back from GitHub upon successful authentication:
Internal Server Error: /auth/complete/github/ Traceback (most recent call last):
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/django/views/decorators/cache.py", line 52, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 57, in wrapped_view
return view_func(*args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/social/apps/django_app/utils.py", line 52, in wrapper
return func(request, backend, *args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/social/apps/django_app/views.py", line 28, in complete
redirect_name=REDIRECT_FIELD_NAME, *args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/social/actions.py", line 40, in do_complete
user = backend.complete(user=user, *args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/social/backends/base.py", line 40, in complete
return self.auth_complete(*args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/social/backends/oauth.py", line 379, in auth_complete
*args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/social/backends/oauth.py", line 387, in do_auth
return self.strategy.authenticate(*args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/social/strategies/django_strategy.py", line 71, in authenticate
return authenticate(*args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/auth/__init__.py", line 60, in authenticate
user = backend.authenticate(**credentials)
File "/app/.heroku/python/lib/python2.7/site-packages/social/backends/base.py", line 81, in authenticate
return self.pipeline(pipeline, *args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/social/backends/base.py", line 84, in pipeline
out = self.run_pipeline(pipeline, pipeline_index, *args, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/social/backends/base.py", line 111, in run_pipeline
result = func(*args, **out) or {}
File "/app/.heroku/python/lib/python2.7/site-packages/social/pipeline/social_auth.py", line 86, in load_extra_data
extra_data = backend.extra_data(user, uid, response, details)
File "/app/.heroku/python/lib/python2.7/site-packages/social/backends/oauth.py", line 43, in extra_data
data = super(OAuthAuth, self).extra_data(user, uid, response, details)
File "/app/.heroku/python/lib/python2.7/site-packages/social/backends/base.py", line 121, in extra_data
for entry in (self.EXTRA_DATA or []) + self.setting('EXTRA_DATA', []):
TypeError: can only concatenate list (not “bool”) to list
Request repr(): <WSGIRequest path:/auth/complete/github/, GET:<QueryDict: {u'state': [u'fnyGJDktGigeUQqlSllTiLNUFr8jKUnW'], u'code': [u'dc690debe86c559bca72'], u'redirect_state': [u'fnyGJDktGigeUQqlSllTiLNUFr8jKUnW']}>, POST:<QueryDict: {}>, COOKIES:{'csrftoken': ‘6OHfGCD1zx2TWi2sV1ONte3af0kkCYi5’,
'sessionid': 'thw20t3gsi335k38zd9pk243r28n2t6d'},
META:{u'CSRF_COOKIE': u'6OHfGCD1zx2TWi2sV1ONte3af0kkCYi5',
'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'HTTP_ACCEPT_ENCODING': 'gzip, deflate, sdch',
'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8',
'HTTP_CONNECTION': 'close',
'HTTP_CONNECT_TIME': '0',
'HTTP_COOKIE': 'csrftoken=6OHfGCD1zx2TWi2sV1ONte3af0kkCYi5; sessionid=thw20t3gsi335k38zd9pk243r28n2t6d',
'HTTP_HOST': 'www.djangopackages.com',
'HTTP_REFERER': 'https://www.djangopackages.com/',
'HTTP_TOTAL_ROUTE_TIME': '0',
'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36',
'HTTP_VIA': '1.1 vegur',
'HTTP_X_FORWARDED_FOR': '45.50.46.168',
'HTTP_X_FORWARDED_PORT': '443',
'HTTP_X_FORWARDED_PROTO': 'https',
'HTTP_X_REQUEST_ID': 'db9da29e-5404-4ff1-956d-63e81e20e201',
'HTTP_X_REQUEST_START': '1428290505490',
'PATH_INFO': u'/auth/complete/github/',
'QUERY_STRING': 'code=dc690debe86c559bca72&redirect_state=fnyGJDktGigeUQqlSllTiLNUFr8jKUnW&state=fnyGJDktGigeUQqlSllTiLNUFr8jKUnW',
'RAW_URI': '/auth/complete/github/?code=dc690debe86c559bca72&redirect_state=fnyGJDktGigeUQqlSllTiLNUFr8jKUnW&state=fnyGJDktGigeUQqlSllTiLNUFr8jKUnW',
'REMOTE_ADDR': '45.50.46.168',
'REMOTE_PORT': '80',
'REQUEST_METHOD': 'GET',
'SCRIPT_NAME': u'',
'SERVER_NAME': 'www.djangopackages.com',
'SERVER_PORT': '80',
'SERVER_PROTOCOL': 'HTTP/1.1',
'SERVER_SOFTWARE': 'gunicorn/0.14.2',
'appenlight.client': <appenlight_client.client.Client object at 0x3c8a390>,
'appenlight.post_vars': <QueryDict: {}>,
'appenlight.request_id': '44348eb6-edfa-4be8-8021-c0d04dd4b127',
'appenlight.view_name': 'django_app/views:complete.GET',
'gunicorn.socket': <socket._socketobject object at 0x3c77130>,
'webob._parsed_cookies': ({u'csrftoken': u'6OHfGCD1zx2TWi2sV1ONte3af0kkCYi5',
u'sessionid': u'thw20t3gsi335k38zd9pk243r28n2t6d'},
'csrftoken=6OHfGCD1zx2TWi2sV1ONte3af0kkCYi5; sessionid=thw20t3gsi335k38zd9pk243r28n2t6d'),
'webob._parsed_query_vars': (GET([(u'code', u'dc690debe86c559bca72'), (u'redirect_state', u'fnyGJDktGigeUQqlSllTiLNUFr8jKUnW'), (u'state', u'fnyGJDktGigeUQqlSllTiLNUFr8jKUnW')]),
'code=dc690debe86c559bca72&redirect_state=fnyGJDktGigeUQqlSllTiLNUFr8jKUnW&state=fnyGJDktGigeUQqlSllTiLNUFr8jKUnW'),
'wsgi.errors': <open file '<stderr>', mode 'w' at 0x7f486d8db1e0>,
'wsgi.file_wrapper': <class gunicorn.http.wsgi.FileWrapper at 0x2819808>,
'wsgi.input': <gunicorn.http.body.Body object at 0x3c81190>,
'wsgi.multiprocess': True,
'wsgi.multithread': False,
'wsgi.run_once': False,
'wsgi.url_scheme': 'http',
'wsgi.version': (1, 0)}>
We used to be on Django-Social-Auth. Now we're trying to upgrade to Django 1.7 but are having problems with authenticating via GitHub. Error when returned back from GitHub upon successful authentication:
Configuration is at: https://github.com/pydanny/djangopackages/blob/fa7dd2f08f0fcc8d99ed2c3273828e9f57069823/settings/base.py#L224-242