我想我明白餅乾是如何工作的,但我想不會,因爲我被困在以下方面:如何訪問由node.js Express創建的客戶端cookie(帶有會話ID)?
我無法顯示帶的document.cookie一個cookie,用警報(document.cookie中)測試;在我的代碼中。
我玩弄節點,並在下面的代碼片段我的服務器上(與快遞一切工程和服務的頁面):
var express = require('express')
, util = require('util')
, MemoryStore = express.session.MemoryStore
, app = express.createServer()
, sessionStore = new MemoryStore();
app.configure(function() {
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.logger());
app.use(express.cookieParser());
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.session({
store: sessionStore,
secret: 'BBQ12345AHHH',
key: 'cookie.sid' }));
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
我的服務器上,我看到一個cookie被髮送時,我命中index.ejs。 Chrome還會在index.ejs的標頭中顯示cookie。但是,當我在index.ejs頁面添加alert(document.cookie)時,警報爲空。我究竟做錯了什麼?
謝謝
因此如何能在應用程序中籤署的餅乾後節點訪問? – vsync
@vsync在谷歌搜索「簽名cookie」的第一個結果''req.signedCookies ['name']' – Esailija
10x。最好所有的信息都在這裏,在一個地方,而不是邪惡的谷歌:)但是當我讀取簽名加密的cookie時,服務器是否知道如何使用相同的密鑰解密它? – vsync