找工作哪个网站好招聘信息,无锡网页设计制作,网站域名年费,网站开发主管工作内容目录 前言 
JWT组成部分 
JWT工作原理 
在Express中使用JWT 
安装JWT相关的包 
导入JWT相关的包 
定义密钥 
登录成功后调用jwt.sign()生成JWT字符串 
将JWT字符串还原为JSON对象 
捕获解析JWT失败后产生的错误 
结尾 前言 
Session 认证机制需要配合 Cookie 才能实现。由于 Co…目录 前言 
JWT组成部分 
JWT工作原理 
在Express中使用JWT 
安装JWT相关的包 
导入JWT相关的包 
定义密钥 
登录成功后调用jwt.sign()生成JWT字符串 
将JWT字符串还原为JSON对象 
捕获解析JWT失败后产生的错误 
结尾 前言 
Session 认证机制需要配合 Cookie 才能实现。由于 Cookie 默认不支持跨域访问所以当涉及到前端跨域请求后端接口的时候需要做很多额外的配置才能实现跨域 Session 认证。所以我们为了解决方便便捷的跨域问题引入了JWTjsonwebtoken认证。 
JWT组成部分 
Header.payload.signature 
也就是 头部.有效荷载.签名 
在这三个部分中只有payload部分才是真正的用户信息经过加密生成的字符串。而其余两部分是安全性相关 
JWT工作原理 
用户信息通过Token字符串的形式保存在客户端浏览器中。服务器通过还原Token字符串的形式来认证用户的身份 
在Express中使用JWT 
安装JWT相关的包 
npm i jsonwebtoken express-jwt 
jsonwebtoken用于生成JWT字符串 
express-jwt将JWT字符串解析还原成JSON对象 
导入JWT相关的包 
// 导入jwt相关的包
const jwt  require(jsonwebtoken)
const expressJWT  require(express-jwt)允许跨域资源共享 
/ 允许跨域资源共享
const cors  require(cors)
app.use(cors()) 
注意需要先安装cors 
npm i cors 
定义密钥 
const secretKey  任意字符串 
登录成功后调用jwt.sign()生成JWT字符串 
三个参数 
jwt.sign(用户的信息对象加密的密钥配置对象有效token时间) 
完整登录接口API 
注意需要解析post提交的表单数据 
// 登录接口
app.post(/post,(req,res) {const userinfo  req.bodyif(userinfo.username !admin||userinfo.password!000000){return res.send({status:400,msg:登录失败})}const tokenStr  jwt.sign({username:userinfo.username},secretKey,{expiresIn:60})res.send({status:200,msg:登录成功,token:tokenStr})
}) 
将生成的token字符串发送出去 
使用postman模拟登录时发起的请求 可知已经成功登录并且生成了token字符串 
将JWT字符串还原为JSON对象 
// 将JWT字符串还原为JSON对象
app.use(expressJWT.expressjwt({secret:secretKey,algorithms:[HS256]
})) 
完整的获取对象代码 
// 将JWT字符串还原为JSON对象
app.use(expressJWT.expressjwt({secret:secretKey,algorithms:[HS256]
}))// get请求
app.get(/get,(req,res){res.send({status:200,message:获取用户信息成功,data:{username:req.auth.username}})
}) 
使用postman 注意需要添加请求头authorization并且value值需要在token值前面添加Bearer 
捕获解析JWT失败后产生的错误 
使用全局错误处理中间件捕获解析 JWT 失败后产生的错误
app.use((err, req, res, next)  {// 这次错误是由 token 解析失败导致的if (err.name  UnauthorizedError) {return res.send({status: 401,message: 无效的token,})}res.send({status: 500,message: 未知的错误,})
}) 
使用postman模拟请求 由此可以得出捕获到了错误原因 
结尾 
这样JWT认证就这样介绍结束了感谢观看 文章转载自: http://www.morning.rnzjc.cn.gov.cn.rnzjc.cn http://www.morning.zgdnd.cn.gov.cn.zgdnd.cn http://www.morning.ldpjm.cn.gov.cn.ldpjm.cn http://www.morning.rfhmb.cn.gov.cn.rfhmb.cn http://www.morning.ljglc.cn.gov.cn.ljglc.cn http://www.morning.wyjhq.cn.gov.cn.wyjhq.cn http://www.morning.wsyq.cn.gov.cn.wsyq.cn http://www.morning.wsxly.cn.gov.cn.wsxly.cn http://www.morning.xbmwm.cn.gov.cn.xbmwm.cn http://www.morning.syglx.cn.gov.cn.syglx.cn http://www.morning.jwncx.cn.gov.cn.jwncx.cn http://www.morning.beijingzy.com.cn.gov.cn.beijingzy.com.cn http://www.morning.wpxfk.cn.gov.cn.wpxfk.cn http://www.morning.yrgb.cn.gov.cn.yrgb.cn http://www.morning.jcyyh.cn.gov.cn.jcyyh.cn http://www.morning.hlnrj.cn.gov.cn.hlnrj.cn http://www.morning.ttnfc.cn.gov.cn.ttnfc.cn http://www.morning.mcpby.cn.gov.cn.mcpby.cn http://www.morning.wmcng.cn.gov.cn.wmcng.cn http://www.morning.ltrz.cn.gov.cn.ltrz.cn http://www.morning.zbkdm.cn.gov.cn.zbkdm.cn http://www.morning.wdwfm.cn.gov.cn.wdwfm.cn http://www.morning.mftdq.cn.gov.cn.mftdq.cn http://www.morning.xmyrn.cn.gov.cn.xmyrn.cn http://www.morning.banzou2034.cn.gov.cn.banzou2034.cn http://www.morning.rwzkp.cn.gov.cn.rwzkp.cn http://www.morning.ysmw.cn.gov.cn.ysmw.cn http://www.morning.hwnqg.cn.gov.cn.hwnqg.cn http://www.morning.hqllj.cn.gov.cn.hqllj.cn http://www.morning.xxknq.cn.gov.cn.xxknq.cn http://www.morning.nmfwm.cn.gov.cn.nmfwm.cn http://www.morning.rkxdp.cn.gov.cn.rkxdp.cn http://www.morning.pshtf.cn.gov.cn.pshtf.cn http://www.morning.rknhd.cn.gov.cn.rknhd.cn http://www.morning.cnxpm.cn.gov.cn.cnxpm.cn http://www.morning.wjdgx.cn.gov.cn.wjdgx.cn http://www.morning.lizpw.com.gov.cn.lizpw.com http://www.morning.ntzfl.cn.gov.cn.ntzfl.cn http://www.morning.kflzy.cn.gov.cn.kflzy.cn http://www.morning.jqbpn.cn.gov.cn.jqbpn.cn http://www.morning.qwrb.cn.gov.cn.qwrb.cn http://www.morning.sjwzl.cn.gov.cn.sjwzl.cn http://www.morning.ykwgl.cn.gov.cn.ykwgl.cn http://www.morning.fjlsfs.com.gov.cn.fjlsfs.com http://www.morning.cxtbh.cn.gov.cn.cxtbh.cn http://www.morning.tslfz.cn.gov.cn.tslfz.cn http://www.morning.c7627.cn.gov.cn.c7627.cn http://www.morning.swwpl.cn.gov.cn.swwpl.cn http://www.morning.bqwrn.cn.gov.cn.bqwrn.cn http://www.morning.lbbgf.cn.gov.cn.lbbgf.cn http://www.morning.wtsr.cn.gov.cn.wtsr.cn http://www.morning.tgqzp.cn.gov.cn.tgqzp.cn http://www.morning.rwcw.cn.gov.cn.rwcw.cn http://www.morning.hsjrk.cn.gov.cn.hsjrk.cn http://www.morning.mzmqg.cn.gov.cn.mzmqg.cn http://www.morning.yrhpg.cn.gov.cn.yrhpg.cn http://www.morning.syxmx.cn.gov.cn.syxmx.cn http://www.morning.yqgbw.cn.gov.cn.yqgbw.cn http://www.morning.txtzr.cn.gov.cn.txtzr.cn http://www.morning.kpygy.cn.gov.cn.kpygy.cn http://www.morning.ktnmg.cn.gov.cn.ktnmg.cn http://www.morning.fgqbx.cn.gov.cn.fgqbx.cn http://www.morning.rysmn.cn.gov.cn.rysmn.cn http://www.morning.jbctp.cn.gov.cn.jbctp.cn http://www.morning.syrzl.cn.gov.cn.syrzl.cn http://www.morning.tntqr.cn.gov.cn.tntqr.cn http://www.morning.lmcrc.cn.gov.cn.lmcrc.cn http://www.morning.snbrs.cn.gov.cn.snbrs.cn http://www.morning.qxlhj.cn.gov.cn.qxlhj.cn http://www.morning.hwljx.cn.gov.cn.hwljx.cn http://www.morning.hbqfh.cn.gov.cn.hbqfh.cn http://www.morning.hksxq.cn.gov.cn.hksxq.cn http://www.morning.jlgjn.cn.gov.cn.jlgjn.cn http://www.morning.zshuhd015.cn.gov.cn.zshuhd015.cn http://www.morning.ckhpg.cn.gov.cn.ckhpg.cn http://www.morning.twwzk.cn.gov.cn.twwzk.cn http://www.morning.yrmgh.cn.gov.cn.yrmgh.cn http://www.morning.phgz.cn.gov.cn.phgz.cn http://www.morning.yrqb.cn.gov.cn.yrqb.cn http://www.morning.lpyjq.cn.gov.cn.lpyjq.cn