接口规范

协议

尽量使用 https

域名

版本

使用版本管理 将版本号加入到 请求路径中 【类似于GitHub】

身份认证

基于JWT接口认证

目录结构

  1. |-- config
  2. |--config.default.js
  3. |-- controller
  4. |-- model
  5. |-- middleware
  6. |-- util
  7. |-- app.js

常用中间件配置

解析请求提

  1. 1. express.json()

解析日志

  • mogan 插件

    客户端跨域

  • cors

mongodb使用

  1. yarn add mongoose --save
  2. 1. 定义Schema = new mongoose.Schema({})

express-validator

舒勇validate进行数据校验
使用的版本是 【6.7.0】

用户名密码 加密

使用散列算法进行加密, ==> 反向推到不出来

  1. const crypto = require('crypto')
  2. const ret = crypto.createHash('md5').update('123').digest('hex')

基于JWT的身份认证

jwt 默认是透明的,不加密的,

  • header 头部
  • payload 负载,【数据】
  • signature 签名

一般将jwt 放到 请求头中

node平台使用 【jsonwebtoken】

jsonwebtoken使用方式

  1. yarn add jsonwebtoken
  2. // 生成JWT
  3. jwt.sign
  4. // 验证JWT
  5. ** 当用户登录成功之后生成token 返回给用户
  6. ** 使用异步方式可以更高效
  7. ** 设置过期事件, {expiresIn: }

用户模块

登录功能

生成token