from social_django.middleware import SocialAuthExceptionMiddleware from social_core.exceptions import SocialAuthBaseException from django.shortcuts import render class SocialAuthExceptionMiddleware(SocialAuthExceptionMiddleware): def process_exception(self, request, exception): strategy = getattr(request, "social_strategy", None) if strategy is None or self.raise_exception(request, exception): return if isinstance(exception, SocialAuthBaseException): message = self.get_message(request, exception) return render(request, "labs/social_error.html", { "error": message, }, status=400)