- 创建项目
- Nest 控制器
- nest 配置路由请求数据
- Nest 服务
- Nest 模块
- 配置静态资源
- 配置模板引擎
- Cookie 的使用
- Session 的使用
- 跨域,前缀路径、网站安全、请求限速
- 管道、守卫、拦截器、过滤器、中间件
- 一例看懂中间件、守卫、管道、异常过滤器、拦截器
- 数据验证
- 配置抽离
- 环境配置
- 文件上传与下载
- 实现图片随机验证码
- 邮件服务
- nest 基于 possport + jwt 做登陆验证
- 对数据库的密码加密:md5 和 bcryptjs
- 角色权限
- 定时任务
- 接入 Swagger 接口文档
- nest 连接 Mongodb
- typeORM 操作 Mysql 数据库
- nest 统一处理数据库操作的查询结果
- 数据库实体设计与操作
- typeorm 增删改查操作
- typeorm 使用事务的 3 种方式
- typeorm 一对一关系设计与增删改查
- typeorm 一对多和多对一关系设计与增删改查
- typeorm 多对多关系设计与增删改查
- nest 连接 Redis
- 集成 redis 实现单点登录
- Q:nestJS 注入其他依赖时为什么还需要导入其 module
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Cookie 的使用
cookie 和 session 的使用依赖于当前使用的平台,如:express 和 fastify 两种的使用方式不同,这里主要记录基于express平台的用法
cookie 可以用来存储用户信息,存储购物车等信息,在实际项目中用的非常多
npm instlal cookie-parser --save npm i -D @types/cookie-parser --save
引入注册
// main.ts import { AppModule } from './app.module'; import { NestExpressApplication } from '@nestjs/platform-express'; import * as cookieParser from 'cookie-parser' async function bootstrap() { const app = await NestFactory.create<NestExpressApplication>(AppModule); //注册 cookie app.use(cookieParser('dafgafa')); //加密密码 await app.listen(3000); } bootstrap();
接口中设置 cookie 使用 response
请求该接口,响应一个 cookie
@Get() index(@Response() res){ //设置 cookie, signed:true 加密 //参数:1:key, 2:value, 3:配置 res.cookie('username', 'poetry', {maxAge: 1000 * 60 * 10, httpOnly: true, signed:true}) //注意: //使用 res 后,返回数据必须使用 res //如果是用了 render 模板渲染,还是使用 return res.send({xxx}) }
cookie 相关配置参数
domain
String 指定域名下有效expires
Date 过期时间(秒),设置在某个时间点后会在该cookoe
后失效httpOnly
Boolean 默认为false
如果为true
表示不允许客户端(通过js
来获取cookie
)maxAge
String 最大失效时间(毫秒),设置在多少时间后失效path
String 表示cookie
影响到的路径,如:path=/
如果路径不能匹配的时候,浏览器则不发送这个cookie
secure
Boolean 当secure
值为true
时,cookie
在 HTTP 中是无效,在HTTPS
中才有效signed
Boolean 表示是否签名cookie
,如果设置为true
的时候表示对这个cookie
签名了,这样就需要用res.signedCookies()
获取值cookie
不是使用res.cookies()
了
获取 cookie
@Get() index(@Request() req){ console.log(req.cookies.username) //加密的 cookie 获取方式 console.log(req.signedCookies.username) return req.cookies.username }
Cookie 加密
// 配置中间件的时候需要传参 app.use(cookieParser('123456')); // 设置 cookie 的时候配置 signed 属性 res.cookie('userinfo','hahaha',{domain:'.ccc.com',maxAge:900000,httpOnly:true,signed:true}); // signedCookies 调用设置的 cookie console.log(req.signedCookies);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论