Cookie 介紹(三) Node.js Server 設計

載入cookieParser

1
npm install --save cookie-parser

先下載cookie-parser這個套件,才能讀取cookie。

1
2
const cookieParser = require('cookie-parser');
app.use(cookieParser);

讀取cookie

1
req.cookie  //讀取cookie

在後端的路由裡,可以用 req.cookies 讀取整包cookie物件

1
2
3
app.get('/', (req, res) => {
console.log(req.cookie);
})

讀取結果

1
res.cookie(name, value [, options])

name: 設定cookie的名字
value: 設定其值,可能是字串或是轉成JSON格式的物件。
options: 選項參數是一個物件,所以,其屬性放在{}裡,以逗號分隔。

可用options:

  • expires (日期) cookie的到期日,超過此日期,即失效。
  • httpOnly: (布林) 標記此cookie只能從web server 訪問,以避免不正確的進入來取得竄改。
  • maxAge (數字) 設定此cookie的生存時間(毫秒為單位),比方60000(10分鐘後到期,必須重新訪問)
  • path (字串) 適用此cookie的路徑,預設: “/”.
  • secure (布林) 設定此cookie是否只在https使用。
  • signed (布林) 此cookie是否要設簽章。(如果是true,必須使用cookie-parser設定簽章 )
1
2
3
4
5
6
app.get('/', (req, res) => {
res.cookie('name', 'marry', {
httpOnly: true,
maxAge: 10000,
})
})