当前位置: 首页 > 知识库问答 >
问题:

Express未设置Cookie

公良扬
2023-03-14
  res.cookie('cokkieName', 'bob', {
        domain: '127.0.0.1:5555',
        maxAge: 900000,
        httpOnly: true,
    });

    res.status(200).json({
        session: jwtSigned,
        role: 'default',
    });
const options: cors.CorsOptions = {
    allowedHeaders: ['Origin', 'X-Requested-With', 'Content-Type', 'Accept', 'X-Access-Token', 'Authorization'],
    credentials: true,
    methods: 'GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE',
    origin: 'http://localhost:5555',
    preflightContinue: false,
};

我尝试过交替cors设置,但没有成功。客户端调用使用axios,并设置了withCredentials

共有1个答案

姚才捷
2023-03-14

如另一个答案所述,您不能在其他域上设置cookie,因为这可能会带来安全风险。

但从你的问题来看...

由于API服务器正在运行身份验证逻辑,所以cookie应该设置在API服务器域上,而不是客户端域上

res.cookie('cokkieName', 'bob', {
        domain: '127.0.0.1:4444',
        maxAge: 900000,
        httpOnly: true,
    });
res.cookie('cokkieName', 'bob', {
            maxAge: 900000,
            httpOnly: true,
 });
axios.get("url",{
    withCredentials: true
    }).then(res => {
            console.log(res);
    });

请注意,credentials选项仅在Access-Control-Allow-Origin头不是像*那样通配符时才起作用

我创建了一个服务器来模拟你发布的代码。服务器基本上会回显请求cookie。

可以通过这个StackBlitz访问它。您可以切换withCredentials标志以查看响应的差异

 类似资料:
  • 我正在使用firebase和会话cookies来验证react网站上的用户。后端正在使用谷歌云功能。当我在localhost上登录我的网站时,一切都很正常;我的react应用程序运行在上,我的云功能运行在上。我的初始化代码如下所示: 登录代码如下所示: 问题似乎是跨域的,因为我的网站托管在另一个域,而不是谷歌云功能,我不能设置cookie无论我尝试什么。我尝试过uuse axios和fetch来执

  • When running an Express app behind a proxy, set (by using app.set()) the application variable trust proxy to one of the values listed in the following table. Although the app will not fail to run if t

  • 我将设置为,并将其添加到我的。当我运行和echo,它们都给了我正确的信息。但是,当我运行libgdx安装程序时,它会给出以下错误:<code>错误:未设置JAVA_HOME,并且在路径中找不到任何“JAVA”命令。 请在您的环境中设置JAVA_HOME变量,以匹配您的JAVA安装位置。 有什么想法吗?

  • 当我运行我的应用程序时,我有“应用程序启动方法[警告]java.lang.reflect.InvocationTargetException异常”。我尝试使用fxml路径但仍然不起作用。当使用try/catch时,我有“位置未设置错误”。 我还得到了“未能在项目Test-generator-Maven上执行目标org.codehaus.mojo:exec-maven-plugin:1.2.1:ja

  • 问题内容: 尝试使用流API实施fileUpload时,出现以下错误:当我从流API网页上收集到“传统FileItemFactory被完全忽略”时,我想知道自己在做错什么。因此,我定义了一种基本方法,如下所示: 但这导致以下错误: 问题答案: 创建一个未初始化的实例。它的文档说: 构造此类的未初始化实例。在尝试解析请求之前,必须使用setFileItemFactory()配置工厂。 因此,您需要使

  • 我在尝试运行我的代码时遇到了这个错误,这是一个简单的javafx代码来加载一个fxml文件,我尝试了我在这里找到的解决方案,但没有一个对我有效。很抱歉,如果格式不是很好,这是我在这里的第一个帖子,并且很抱歉,如果我在屠杀语言,英语不是我的第一语言。提前道谢! 这是事情的组织方式