2013-03-08 44 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