在apollo服务器azure函数中设置Cookie



我在azure函数中使用apollo服务器。我想设置来自apollo服务器azure功能的cookie。但它不起作用。它不会抛出任何类型的错误。

如何在apollo服务器azure功能中设置cookie?我试过这种方法,但不起作用。

这是我的代码

import { ApolloServer, gql } from "apollo-server-azure-functions";
import { ApolloServerPluginLandingPageLocalDefault } from "apollo-server-core";
import { serialize, parse } from "cookie";
// Construct a schema, using GraphQL schema language
const typeDefs = gql`
type Query {
user: User
}
type User {
id: ID!
name: String!
email: String!
}
`;
// Provide resolver functions for your schema fields
const resolvers = {
Query: {
user: (parents, args, { request, context }, info) => {
const cookie = serialize("token", "123", {
expires: new Date(Date.now() + 900000),
httpOnly: true,
});
context.res.setHeader("Set-Cookie", cookie);
return {
id: "1",
name: "John Doe",
email: "john@example.com",
};
},
},
};
// @ts-ignore
const server = new ApolloServer({
typeDefs,
resolvers,
debug: true,
plugins: [ApolloServerPluginLandingPageLocalDefault({ embed: true })],
context: (context) => {
return context;
},
});
export default server.createHandler({
cors: {
origin: ["*", "https://studio.apollographql.com"],
methods: ["GET", "POST", "OPTIONS"],
allowedHeaders: [
"access-control-allow-header",
"access-control-allow-credentials",
"access-control-allow-origin",
"content-type",
],
},
});

没有可用于apollo服务器azure功能的文档。

apollo服务器azure的官方存储库功能:https://github.com/Azure-Samples/js-e2e-azure-function-graphql-hello.git

与内部团队共享讨论,并在此处发布更新。

在查看了这个问题、基础设施和Apollo对此包的公告后,我相信Apollo是发布这个问题的正确组织,因为Apollo在这个示例中提供了服务器。它恰好在Azure功能上运行。此外,当我在Apollo上寻找解决方案时,为了成功设置cookie,似乎需要将ApolloServer依赖项换成Apollo服务器以实现快速依赖。

这些都不是好消息。对此我深表歉意。

我相信这个样本在没有cookies的情况下可以在这个回购中工作,并且目前代码中不包括cookies。随着Apollo依赖性的发展,我们将根据这一反馈重新评估其使用情况。

最新更新