Node.js身份验证与自动化测试

1.身份验证 token
JWT
用户登录 服务器端产生一个token (加密字符串) 发送给前端
前端将token 进行保存
前端发起数据请求的时候携带token
服务端 验证token 是否合法 如果合法继续操作 不合法终止操作
token 的使用场景 无状态请求 保持用户的登录状态 第三方登录(token+auth2.0)
非对称加密 通过私钥产生token 通过公钥解密token
// 1.产生公钥和私钥
// 产生私钥 openssl genrsa -out ./private_key.pem 1024 1024 代表私钥长度
// 产生公钥 openssl rsa -in ./private_key.pem -pubout -out ./public_key.pem

let private_key=fs.readFileSync(path.join(__dirname,’./private_key.pem’))
let public_key=fs.readFileSync(path.join(_dirname,’./public_key.pem’))
var token = jwt.sign(palyload, private_key,{ algorithm: ‘RS256’});
console.log(token)
let token='eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IueUqOaIt2lkIiwiaWF0IjoxNTUxMTUyNzk1fQ.TI_xDBvObHGAH7EV40WWpQemm5nx077Gdjq-pzDx0NWN5YFd40S7XcLmgoDdYscLM7vMOP0c7z1l83JUixqk7IBjBCU-tMNo_G5
-LGkQjV3vDYq_3TkXTl42lgmFA-EBey7W6W1PgPfYlowyHAyp-07hXaMRevgVkXm2lPEFXo’
var decoded = jwt.verify(token, public_key);

const jwt=require(‘jsonwebtoken’)
const scrict=‘sdjfksdjflajflasjflasjflksf’
function creatToken(palyload){
// 产生token
palyload.ctime=Date.now()
return jwt.sign(palyload,scrict)
}
function checkToken(token){
return new Promise((resovle,reject)=>{
jwt.verify(token,scrict,(err,data)=>{
if(err){ reject(‘token 验证失败’)}
resovle(data)
})
})
}
module.exports={
creatToken,checkToken
}

Cookie+Session
const cookieParse=require(‘cookie-parser’)
const session = require(‘express-session’)

app.use(session({
secret: ‘hubwizApp’, //为了安全性的考虑设置secret属性
cookie: {maxAge: 60 * 1000 * 60 * 24 }, //设置过期时间
resave: true, // 即使 session 没有被修改,也保存 session 值,默认为 true
saveUninitialized: false, //无论有没有session cookie,每次请求都设置个session cookie ,默认给个标示为 connect.sid
}));

登录成功
req.session.sign = true;
req.session.name = us;

需要验证的接口判断是否存在
注销session
app.get(’/out’, function(req, res){
req.session.destroy();
res.redirect(’/’);
})

2.自动化测试 mocha
Mocha(‘摩卡’),诞生于2011年,现在比较流行的JavaSscript测试框架之一,可以运行于Node环境和浏览器环境
测试框架:可以运行测试的工具。通过他,可以为JavaScript应用 添加测试,从而保证代码质量

安装配置
使用npm 全局安装
$ npm install --global mocha
项目依赖 局部安装
$ npm isntall mocha

基本语法
assert 断言
断言库:chai
should 风格断言
expect 风格断言

全局安装chai
npm install chai -g

案例使用
递归执行
$ mocha test --recursive

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值