【问题标题】:`ctx.cookies` is always undefined in apollo-server-koa`ctx.cookies` 在 apollo-server-koa 中始终未定义
【发布时间】:2021-01-31 06:28:57
【问题描述】:

我正在使用 apollo-server-koa 并创建了一个简单的 Koa 应用程序 + ApolloServer,但是当我想在 GraphQL 解析器中访问 ctx.cookies 时,它始终是 undefined。只有requestresponse 存在。

const app = new Koa()
const server = new ApolloServer({
  schema,
  context: ({ ctx }) => ctx
})

server.applyMiddleware({
  app,
  cors: {
    origin: 'http://localhost:3000',
    credentials: true,
  }
})

这让我很困惑,因为当我执行app.use((ctx) => ...) 时,cookies 可用。 这是正确的吗?我是否需要一个单独的 cookie 中间件,例如 cookie-parser in express?

【问题讨论】:

    标签: cookies graphql apollo koa apollo-server-koa


    【解决方案1】:

    与 express 不同,koa 的 cookie 功能位于单独的包“koa-cookie”中。

    如果你这样做:

    import cookie from 'koa-cookie';
    const app = new Koa();
    app.use(cookie());
    

    您应该能够通过 ctx.cookies.set 和 ctx.cookies.get 设置和获取 cookie。

    【讨论】:

      猜你喜欢
      • 2019-07-15
      • 2020-05-07
      • 2021-04-20
      • 2020-08-08
      • 2021-11-21
      • 2022-06-29
      • 1970-01-01
      • 1970-01-01
      • 2011-12-16
      相关资源
      最近更新 更多