From 2dfae527183fb8caac7fa9c43c43048d53c35e28 Mon Sep 17 00:00:00 2001 From: Mathijs de Bruin Date: Mon, 19 Sep 2011 14:52:35 +0200 Subject: [PATCH] Get rid of session logging (?) and replaced by proper Python error logging, including request data (so Sentry knows what to do with it). --- social_auth/views.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/social_auth/views.py b/social_auth/views.py index a48aba6..79a55f3 100644 --- a/social_auth/views.py +++ b/social_auth/views.py @@ -68,16 +68,29 @@ def dsa_view(redirect_name=None): return func(request, backend, *args, **kwargs) except Exception, e: # some error ocurred backend_name = backend.AUTH_BACKEND.name + + logger.error(unicode(e), exc_info=True, + extra=dict(request=request)) + + # Why!? msg = str(e) if 'django.contrib.messages' in settings.INSTALLED_APPS: from django.contrib.messages.api import error error(request, msg, extra_tags=backend_name) else: - if ERROR_KEY: # store error in session - request.session[ERROR_KEY] = msg - if NAME_KEY: # store the backend name for convenience - request.session[NAME_KEY] = backend_name + logger.warn('Messages framework not in place, some '+ + 'errors have not been shown to the user.') + # What's the use in this, having not both the messages + # framework and decent logging in place? + # Also: do we really want to share all and any errors back + # to the user, in a security-wise sensitive application? + # + # else: + # if ERROR_KEY: # store error in session + # request.session[ERROR_KEY] = msg + # if NAME_KEY: # store the backend name for convenience + # request.session[NAME_KEY] = backend_name return HttpResponseRedirect(BACKEND_ERROR_REDIRECT) return wrapper return dec -- 2.39.5