class SaveSessionKeyMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        if not request.user.is_authenticated and request.session.session_key:
            request.session['_pre_login_key'] = request.session.session_key
        return self.get_response(request)