Mongodb 登录时强制注销

Mongodb 登录时强制注销,mongodb,express,mongoose,react-admin,Mongodb,Express,Mongoose,React Admin,我是使用这个框架的新手,所以请耐心听我说 我尝试在Auth Provider中遵循文档(3.12.1),并能够从后端对用户进行身份验证 但是,此代码 logout: () => { localStorage.removeItem("auth"); return Promise.resolve(); }, 持续将我注销,提示我请登录以继续 这是我的密码 authProvider.js const authProvider = { logout

我是使用这个框架的新手,所以请耐心听我说

我尝试在Auth Provider中遵循文档(3.12.1),并能够从后端对用户进行身份验证

但是,此代码

logout: () => {
     localStorage.removeItem("auth");
     return Promise.resolve();
  },
持续将我注销,提示我请登录以继续

这是我的密码

authProvider.js

const authProvider = {
  logout: () => {
     localStorage.removeItem("auth");
     return Promise.resolve();
  },
  login: ({ username, password }) => {
    const request = new Request("http://localhost:3000/api/auth", {
      method: "POST",
      body: JSON.stringify({ username, password }),
      headers: new Headers({ "Content-Type": "application/json" }),
    });
    return fetch(request)
      .then((response) => {
        if (response.status < 200 || response.status >= 300) {
          throw new Error(response.statusText);
        }
        return Promise.resolve();
      })
      .then((auth) => {
        localStorage.setItem("auth", JSON.stringify(auth));
      })
      .catch(() => {
        throw new Error("Network error");
      });
  },
  checkError: ({ status }) => {
    if (status === 401 || status === 403) {
      localStorage.removeItem("username");
      return Promise.reject();
    }
    return Promise.resolve();
  },
  checkAuth: () => {
    localStorage.removeItem("username");
    return localStorage.getItem("username")
      ? Promise.resolve()
      : Promise.reject();
  },
  getPermissions: () => Promise.resolve(),

};

export default authProvider;

好吧,据我所知-您的
checkAuth
函数将始终拒绝承诺,它会自动重定向到
注销

为什么要在localStorage中设置
auth
,然后在选中auth时搜索
username
(尽管一开始总是删除它)

您应该同步这两个功能,并且应该可以正常运行

{
  "success": true,
  "message": "Successfully Logged In!",
  "userData": {
    "user_id": "601d25ca48305c2ef1e6a42c",
    "firstName": "test",
    "lastName": "test",
    "username": "test@mail.com",
    "token": "eyJhbGciOiJIUzI1NiJ9.NjAxZDI1Y2E0ODMwNWMyZWYxZTZhNDJj.WvYB9-H2kVTtCvRB4YumJe17EIIb0Kiz2t8h1g-IcwY"
  }
}