2013-03-08 43 views
11

也有一些是我真的不明白这里:Express会话+角:不能访问connect.sid饼干

我已经表达对服务器端运行,使用会话初始化。

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调试ressources选项卡上,我可以看到这两种饼干:

Screenshot of Ressources tab in chrome debugger

我在做什么错?

无法从角度访问服务器制作的cookie吗?

感谢

回答

14

默认连接会话使用的HttpOnly饼干(look here)。

设置httpOnly标志时,始终禁止读取cookie。

尝试禁用中HTTPOnly标志:

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

'看here'链接已经死了。请更新 – CodyBugstein 2015-03-22 12:55:06