小编Mic*_*oss的帖子

在响应头中使用apollo,cookie,但未设置

我正在开发用户登录/注册功能,这是一个较大项目的一部分,并且正在localhost(Apollo服务器并响应apollo前端)上工作。我正在使用快速会话。

提交登录名时,我可以看到响应头中包含set-cookie,但未在Application-> Cookies中设置。

我尝试了不同的浏览器,使用createHttpLink,apollo-boost并使用include&same-origin(使用same-origin)。

我一直在尝试使它工作2星期,并且已经没有足够的尝试了,这是我的最后选择!我知道它确实很琐碎,但我看不到它。

如果我使用GraphqL Playground并更改设置以包括凭据,则可以看到其中设置了cookie。

服务器在localhost:8080 / graphql上运行客户端在localhost:3000上运行

客户:

const client = new ApolloClient({
    link: new HttpLink({
        uri: 'http://localhost:8080/graphql',
        credentials: 'same-origin',
    }),
    cache: new InMemoryCache()
});
Run Code Online (Sandbox Code Playgroud)

科尔斯:

app.use(
    cors({ 
        origin: 'http://localhost:3000',
        credentials: true
    })
);
Run Code Online (Sandbox Code Playgroud)

快速会话:

app.use(
    session({
        name: "sess",
        secret: process.env.SESSION_SECRET,
        resave: false,
        saveUninitialized: false,
        cookie: {
            httpOnly: true,
            secure: false,
            maxAge: 1000 * 60 * 60 * 24 * 7,
        },
    })
);
Run Code Online (Sandbox Code Playgroud)

响应Cookie:

HTTP/1.1 200 OK
X-Powered-By: Express
Access-Control-Allow-Origin: *
Vary: Origin
Access-Control-Allow-Credentials: true
Content-Type: …
Run Code Online (Sandbox Code Playgroud)

cookies apollo reactjs express-session graphql

6
推荐指数
1
解决办法
1705
查看次数

标签 统计

apollo ×1

cookies ×1

express-session ×1

graphql ×1

reactjs ×1