【问题标题】:Apollo graphql application cookie not set in browser未在浏览器中设置 Apollo graphql 应用程序 cookie
【发布时间】:2023-01-16 12:14:13
【问题描述】:

我在后端使用 apollo graphql 并使用 cookie 身份验证方法。但是当我在后端设置 cookie 时,cookie 位于 Set-Cookie 标头中,但未显示在 Browser->application ->cookies 中

response.cookie('tokens', token, {
        httpOnly: true,
        secure: true, //process.env.NODE_ENV === 'production',
        sameSite: true,
        expires: new Date(Date.now() + 1000 * 60 * 60 * 24),
      });

返回响应: Response image

这里没有什么。 Application cookies

尝试了很多建议,但对我没有任何帮助。

【问题讨论】:

    标签: express graphql apollo-client apollo-server nodejs-server


    【解决方案1】:

    您可以通过以下方式设置 cookie

            context.setCookies.push({
              name: "token",
              value: result.token,
              options: {
                  domain:'DOMAIN_NAME',
                  httpOnly: true,
                  maxAge: 36000,
                  secure: 'none',
                  path: '/',
                  sameSite:'None'
              }
          });
    
    • 请记住确保域名是您的服务器主机名,
    • 域中不需要协议,即 https
    • 将 samesite 设置为无

    通过这个,我能够设置 cookie,它被设置在开发人员工具的应用程序文件夹中

    • 你不能在隐身模式下测试这个,
    • 在网络选项卡中,在其余调用中,在 cookie 部分中,您可以确认所有属性是否设置正确。

    【讨论】:

      猜你喜欢
      • 2019-06-21
      • 2020-10-07
      • 1970-01-01
      • 2018-10-26
      • 2021-07-20
      • 2021-09-30
      • 2019-07-25
      • 2023-03-16
      相关资源
      最近更新 更多