Make custom middleware use new style vs old

This commit is contained in:
beeankha
2019-05-09 16:11:53 -04:00
parent 97dc77ea63
commit 68800d0e8e
5 changed files with 87 additions and 57 deletions

View File

@@ -4,8 +4,6 @@
# Python
import urllib.parse
# Six
# Django
from django.conf import settings
from django.utils.functional import LazyObject
@@ -20,9 +18,12 @@ from social_django.middleware import SocialAuthExceptionMiddleware
class SocialAuthMiddleware(SocialAuthExceptionMiddleware):
def process_view(self, request, callback, callback_args, callback_kwargs):
if request.path.startswith('/sso/login/'):
request.session['social_auth_last_backend'] = callback_kwargs['backend']
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
response = self.process_request(request)
return response
def process_request(self, request):
if request.path.startswith('/sso'):
@@ -53,6 +54,11 @@ class SocialAuthMiddleware(SocialAuthExceptionMiddleware):
request.user = request.user._wrapped
request.session.pop('social_auth_error', None)
request.session.pop('social_auth_last_backend', None)
return self.get_response(request)
def process_view(self, request, callback, callback_args, callback_kwargs):
if request.path.startswith('/sso/login/'):
request.session['social_auth_last_backend'] = callback_kwargs['backend']
def process_exception(self, request, exception):
strategy = getattr(request, 'social_strategy', None)