node之cookie-parser

cookie-parser的创建

1、安装cookie-parser

cnpm install cookie-parser --save

2、引入cookie-parser

var cookieParse = require('cookie-parser');

3、设置cookie-parser

//不使用签名
app.use(cookiePareser());
 
//若需要使用签名,需要指定一个secret,字符串,否者会报错
app.use(cookiePareser('Simon'));

4、使用cookie-parser

res.cookie(name, value [, options]);
  • name: 类型为String

  • value: 类型为String和Object,如果是Object会在cookie.serialize()之前自动调用JSON.stringify对其进行处理

  • Option: 类型为对象,可使用的属性如下

参数 作用
domain cookie在什么域名下有效,类型为String,。默认为网站域名
expires cookie过期时间,类型为Date。如果没有设置或者设置为0,那么该cookie只在这个这个session有效,即关闭浏览器后,这个cookie会被浏览器删除。
httpOnly 只能被web server访问,类型Boolean。
maxAge 实现expires的功能,设置cookie过期的时间,类型为String,指明从现在开始,多少毫秒以后,cookie到期。
path cookie在什么路径下有效,默认为’/’,类型为String
secure 只能被HTTPS使用,类型Boolean,默认为false
signed 使用签名,类型Boolean,默认为false。express会使用req.secret来完成签名,需要cookie-parser配合使用

用例如下:

res.cookie('name', 'koby', {
    
     domain: '.example.com', path: '/admin', secure: true });
//cookie的有效期为900000ms
res.cookie('rememberme', '1', {
    
     expires: new Date(Date.now() + 900000), httpOnly: true });
//cookie的有效期为900000ms
res.cookie('rememberme', '1', {
    
     maxAge: 900000, httpOnly: true });
 
//cookie的value为对象
res.cookie('cart', {
    
     items: [1,2,3] });
res.cookie('cart', {
    
     items: [1,2,3] }, {
    
     maxAge: 900000 });
 
res.cookie('name', 'tobi', {
    
     signed: true });

cookie-parser的清除

res.clearCookie(name [, options]);

猜你喜欢

转载自blog.csdn.net/qq_22764659/article/details/112355730