无加密cookie

可以使用express 中的cookie模块

  1. yarn add cookie-parser -S

在main.ts 中配置

  1. // cookie
  2. import * as cookieParser from 'cookie-parser'
  3. // 创建中间件 不加密
  4. app.use(cookieParser())

使用cookie

  1. // 设置cookie
  2. @Get('set')
  3. setCookie(@Response() res){
  4. res.cookie('cookie','set-cookie',{
  5. maxAge:10000, // 过期时间,时间一到就会消失
  6. httpOnly:true, // 只能服务端访问
  7. })
  8. res.send('setcookit')
  9. }
  10. // 获取cookie
  11. @Get('get')
  12. getCookie(@Request() req){
  13. return req.cookies
  14. }

加密cookie

加密后需要通过 signedCookies 字段来获取

  1. // main中设置加密字段
  2. app.use(cookieParser('加密cookie'))
  1. @Get('set')
  2. setCookie(@Response() res){
  3. res.cookie('cookie','set-cookie',{
  4. maxAge:10000, // 过期时间,时间一到就会消失
  5. httpOnly:true, // 只能服务端访问
  6. signed:true // 加密cookie
  7. })
  8. res.send('setcookit')
  9. }
  10. @Get('get')
  11. getCookie(@Request() req){
  12. // 加密cookie 需要通过 signedCookies 来获取
  13. console.log(req.signedCookies);
  14. return req.signedCookies
  15. }