Completes loging process, must return user instance

def auth_complete(self, *args, **kwargs):
        """Completes loging process, must return user instance"""
        if SESSION_VAR not in self.strategy.request.session:
            # This is the only protection layer when people
            # go directly to the passthrough login view.
            logger.warn("Auth data for passthrough provider not found in session. Raising 404.")
            raise PermissionDenied
        auth_data = self.strategy.request.session[SESSION_VAR]
        kwargs.update({'response': auth_data, 'backend': self})
        return self.strategy.authenticate(*args, **kwargs)