【发布时间】:2026-02-02 11:10:01
【问题描述】:
总结:
当我尝试运行连接到正在运行的服务器的前端 React 应用程序,然后尝试登录时,我的 isAuthenticated 查询在应该返回 true 时返回 false。
详细说明:
我有一个部署的 Node Apollo 服务器(通过 heroku),它使用 graphql、express 和 passport 进行身份验证。可以找到服务器here(可能需要一分钟才能启动)并使用this code。当我去这个服务器时,我可以通过运行以下突变登录:
mutation{
loginUser(data:{email: "john@gmail.com", password: "abc"}){
id
email
firstName
lastName
}
}
然后我运行以下查询,并返回true:
query{
isAuthenticated
}
我想在我的前端应用程序上执行同样的操作。可以找到此代码here。只需转到此存储库,克隆它,然后运行 yarn 和 yarn start 即可运行应用程序。但是,如果您打开控制台,然后单击“登录”按钮,然后单击“isAuthenticated”按钮,您将看到“isAuthenticated”返回为 false,而不是 true。
我在配置 express 及其 cors 选项或如何在前端设置 http 链接时做错了吗?我为 localhost:8080 启用了 cors,所以我不确定为什么会看到这种效果。
expressMiddleware.use(cors({
credentials: true,
origin: 'http://localhost:8080',
}));
一些相关文件:
【问题讨论】:
标签: node.js reactjs cors passport.js apollo