首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从GraphQL解析器设置cookies

从GraphQL解析器设置cookies
EN

Stack Overflow用户
提问于 2020-04-14 12:12:26
回答 1查看 34关注 0票数 0

我正在通过https://github.com/the-road-to-graphql/fullstack-apollo-express-postgresql-boilerplate学习GraphQL

我想知道如何从解析器设置cookie,因为我习惯使用Express来设置cookie。

代码语言:javascript
代码运行次数:0
运行
复制
signIn: async (
  parent,
  { login, password },
  { models, secret },
) => {
  const user = await models.User.findByLogin(login);

  if (!user) {
    throw new UserInputError(
      'No user found with this login credentials.',
    );
  }

  const isValid = await user.validatePassword(password);

  if (!isValid) {
    throw new AuthenticationError('Invalid password.');
  }

  return { token: createToken(user, secret, '5m') };
},

我如何访问response对象并添加cookie,而不是返回令牌obj?

EN

回答 1

Stack Overflow用户

发布于 2020-04-14 12:40:17

您可以使用context对象来实现这一点,查看您发送的示例。您需要从此函数https://github.com/the-road-to-graphql/fullstack-apollo-express-postgresql-boilerplate/blob/master/src/index.js#L55返回res变量

上下文对象位于解析器的第三个参数处。上下文是在每个请求上创建的&可供所有解析器使用。

示例:

代码语言:javascript
代码运行次数:0
运行
复制
const server = new ApolloServer({
  context: ({res}) => ({res})
});

function resolver(root, args, context){
  context.res// express
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61200569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档