docs: def get_user(request):
      """
      Returns the user model instance associated with the given request session.
      If no user is retrieved an instance of `MojAnonymousUser` is returned.
      """
      user = None
      try:
          user_id = request.session[SESSION_KEY]
          token = request.session[AUTH_TOKEN_SESSION_KEY]
          user_data = request.session[USER_DATA_SESSION_KEY]
          backend_path = request.session[BACKEND_SESSION_KEY]
      except KeyError:
          pass
      else:
          if backend_path in settings.AUTHENTICATION_BACKENDS:
              backend = load_backend(backend_path)
              user = backend.get_user(user_id, token, user_data)
              # Verify the session
              if hasattr(user, 'get_session_auth_hash'):
                  session_hash = request.session.get(HASH_SESSION_KEY)
                  session_hash_verified = session_hash and constant_time_compare(
                      session_hash,
                      user.get_session_auth_hash()
                  )
                  if not session_hash_verified:
                      request.session.flush()
                      user = None
  
      return user or MojAnonymousUser()