接口规范
协议
尽量使用 https
域名
版本
使用版本管理 将版本号加入到 请求路径中 【类似于GitHub】
身份认证
基于JWT接口认证
目录结构
|-- config
|--config.default.js
|-- controller
|-- model
|-- middleware
|-- util
|-- app.js
常用中间件配置
解析请求提
1. express.json()
解析日志
mongodb使用
yarn add mongoose --save
1. 定义Schema = new mongoose.Schema({})
express-validator
舒勇validate进行数据校验
使用的版本是 【6.7.0】
用户名密码 加密
使用散列算法进行加密, ==> 反向推到不出来
const crypto = require('crypto')
const ret = crypto.createHash('md5').update('123').digest('hex')
基于JWT的身份认证
jwt 默认是透明的,不加密的,
- header 头部
- payload 负载,【数据】
- signature 签名
一般将jwt 放到 请求头中
node平台使用 【jsonwebtoken】
jsonwebtoken使用方式
yarn add jsonwebtoken
// 生成JWT
jwt.sign
// 验证JWT
** 当用户登录成功之后生成token 返回给用户
** 使用异步方式可以更高效
** 设置过期事件, {expiresIn: }
用户模块
登录功能
生成token