允许在Apollo GraphQL playground中使用cookie(版本3)



根据阿波罗文档:

如果您的服务器使用cookie进行身份验证,您可以将端点配置为与https://studio.apollographql.com共享这些cookie。要设置此设置,cookie的值必须包含SameSite=None; Secure。此外,这些歌珥头必须出现在你的服务器响应工作室:

Access-Control-Allow-Origin: https://studio.apollographql.com
Access-Control-Allow-Credentials: true

我已经做了那里提到的所有事情。我使用express,所以我使用cors中间件来设置标题:

app.use(
cors({
credentials: true,
origin: "https://studio.apollographql.com",
})
);

但是每当我打开"允许cookie"的开关时,在操场上,状态变为红色()。,"无法访问服务器">)。我的编辑器和nodemon显示没有错误。关闭允许Cookies开关解决了问题,但禁用了Cookies功能。

如何解决这个问题?

如果您正在使用cors中间件,则可能需要在apollo中设置cors。applyMiddleware设置为false,让你的cors中间件工作。

app.use(
cors({
credentials: true,
origin: "https://studio.apollographql.com",
})
);
...
apolloServer.applyMiddleware({
app,
cors: false, 
});

或者,您也可以使用apollo-server提供的cors选项。

apolloServer.applyMiddleware({
app,
cors: {
origin: 'https://studio.apollographql.com',
credentials: true,
},
});

相关内容

  • 没有找到相关文章

最新更新