在express中使用加密cookie時在cookieParser中加入了app.use(cookieParser(‘xxx’));仍是報錯:Error: cookieParser(「secret」) required for signed cookies
出現緣由:
如下爲cookie封裝的原生代碼 在node_modules\express\lib\response.js:837:11)裏面 :
將
node
var signed = opts.signed;改爲 var signed = "signed";
後在運行就不會報錯了,可是很雞肋!!!!
express
先上解決方法:
1.打開 app.js文件
2.找到app.use(cookieParser());
3.app.use(cookieParser());改爲app.use(cookieParser(‘隨便放’));以下:
npm
4.而後將以前的代碼給整理一下 刪除掉以前多餘的代碼:
cookie
最後梳理一下步驟:(如下能夠忽略不看)
1.npm install cookie-parser --save
安裝cookieParser
2.const cookieParser = require('cookie-parser');
引入cookieParse
3.若是須要cookie加密:
去app.js文件中找到app.use(cookieParser(''));
並加入祕鑰如app.use(cookieParser('dssed'));
若是不須要加密則不要這一步操做
4.res.cookie("name",arr[0].username,{httpOnly: true,maxAge: 200000,signed: true,})
設置cookie
5.獲取加密cookie集合: var cookies = req.signedCookies
app
最後解決了你的問題記得點波關注 阿里嘎多ui