【发布时间】:2020-05-31 18:41:45
【问题描述】:
我想在用户登录网站后将令牌设置为 cookie。
我找到了这个apollo-server-plugin-http-headers 包。
所以我试图在我的解析器中执行此操作。
async loginUser(_, { loginInput }, context) {
...
const token = generateToken(user);
context.setCookies.push({
name: "cookieName",
value: token,
options: {
httpOnly: true,
maxAge: 3600,
path: "/",
sameSite: true,
secure: true
}
});
console.log(context, 123)
return {
...
token
}
在设置apollo服务器中
const httpHeadersPlugin = require("apollo-server-plugin-http-headers");
const server = new ApolloServer({
typeDefs,
resolvers,
plugins: [httpHeadersPlugin],
context: {
setHeaders: new Array(),
setCookies: new Array(),
}
});
我在 Chrome 应用程序 -> cookie 中检查浏览器 cookie 选项卡,但没有设置任何内容。我不确定我做错了什么?也许还有其他方法可以做到这一点?
我们将不胜感激所有的帮助
【问题讨论】:
标签: cookies apollo-server