gpt4 book ai didi

node.js - Express Session + Angular : can't access connect. sid cookie

转载 作者:IT老高 更新时间:2023-10-28 23:14:37 29 4
gpt4 key购买 nike

这里有一些我真的不明白:

我已经在服务器端快速运行, session 已初始化。

app.use(express.session({
secret: 'mySecret'
})
}));

正如这篇文章中提到的 Confusion over session IDs using Connect ,它会向任何请求发送一个 connect.sid cookie。

在客户端,我想读取这个cookie的内容,感觉不可能:

angular.module('myApp.controllers', ['ngCookies','myApp.services'])
.controller('homeCtrl', function($scope, $cookies) {
$cookies['test']='myValue';
console.log($cookies);
});

当我运行它时,我在日志中得到了这个对象:Object {test: "myValue"},而如果我在 Chrome 调试器中转到资源选项卡,我可以看到两个 cookie:

Screenshot of Ressources tab in chrome debugger

我做错了什么?

是否无法从 Angular 访问服务器制作的 cookie?

谢谢

最佳答案

默认情况下,连接 session 使用 httpOnly cookie (look here)。

当设置了 httpOnly 标志时,总是禁止读取 cookie。

尝试禁用 httpOnly 标志:

app.use(express.session({
secret: 'mySecret',
cookie: { httpOnly: false }
}));

关于node.js - Express Session + Angular : can't access connect. sid cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15298342/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com