token、自动化测试
Token
自动登录
-
所需工具:OpenSSL+Pure
-
步骤
- 前端发送参数给后端,带一个token的字段
- 后端通过加密算法将前端发来的信息进行加密。
- 后端将加密后的字符发给前端
- 前端将后端返回来的token字符储存起来:cookie
判断cookie中是否有token值,有token值自动登录,没有就发送ajax请求重新登录
const express = require( 'express' )
const router = express.Router()
const fs = require( 'fs' )
const path = require( 'path' )
const jwt = require( 'jsonwebtoken' )
router.post('/login',( req,res,next ) => {
res.setHeader('Access-Control-Allow-Origin','*')
// 接收前端传来的数据
const { username,password } = req.body
// 获取我们创建的私钥和公钥
const privateKey = fs.readFileSync( path.join( __dirname,'../rsa/private_key.pem') )
const publicKey = fs.readFileSync( path.join( __dirname, '../rsa/public_key.pem' ))
// 通过jwt将用户名和私钥结合 ,然后在通过RS256加密算法,输出最终的token
const token = jwt.sign( username, privateKey, { algorithm: 'RS256' })
/*
通过public进行解密
const newToken = '加密文字'
const decode = jwt.verify( newToken,publicKey )
console.log( decode )
*/
res.render('login',{
data: JSON.stringify({
info: '登录成功',
token
})
})
})
module.exports = router
权限验证
- 前端发送用户名、密码和token
- 后端通过公钥,解密token,拿到用户名
- 通过遍历数据库查询用户组哪里有这个用户名
- 拿到信息后,将信息返回给前端,跳转不同页面
自动化测试
mocha(摩卡)
-
安装:
npm i -g mocha
-
目的:测试代码质量
-
assert(断言)
- 断言库:chai
- should风格断言
- expect风格断言
- 全局安装chai
npm i chai -g
- 全局安装chai
-
使用:
mocha ./test.js
Jest
-
安装:
npm i -g jest
-
测试文件命名:xxx.test.js
比较: 1. Mocha我们单一运行某一个文件,而Jest可以全局检测项目test文件
2. Jest运行命令为: Jest , mocha 为:Mocha 文件名称
- yarn 它和npm/cnpm 一样也是一种包管理器
- 安装
$ cnpm i yarn -g
- 安装