当前位置: 首页 > news >正文

白山市网站建设seo排名

白山市网站建设,seo排名,创建全国文明城市倡议书,哈尔滨网站制作目录 前言 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 认证。所以我们为了解决方便便捷的跨域问题,引入了JWT(jsonwebtoken)认证。

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.ds6.com.cn/news/39700.html

相关文章:

  • 怎样免费网站建设优化大师有用吗
  • 百度seo优化培训宁波 seo排名公司
  • 建设一个网站需要什么手续搜什么关键词能找到网站
  • 劳动保障局瓯海劳务市场和做网站注册教育培训机构需要什么条件
  • 彩票网站wordpress模板无锡网站制作优化
  • 郑州汉狮做网站的公司seo是什么意思中文
  • 兰州公司网站建设青海seo关键词排名优化工具
  • 装饰设计工程搜索引擎优化的方法有哪些?
  • 做网站必须要购买空间吗网站流量统计系统
  • 做设计赚钱网站有哪些优化网站标题
  • 网站开发实用技术答案整站外包优化公司
  • 网站建站建设怎么做seo公司
  • 网站seo外包服务网络营销软文范文
  • 建设注册证信息网站搜索风云榜
  • tiktok跨境电商怎么入驻seo排名优化价格
  • 桓台网站建设天津搜索引擎seo
  • 西安网站制作开发优化什么意思
  • 政府网站建设主要做法网络营销系统
  • 怎么用ps做网站seo网站优化案例
  • 外贸网站建设公司 迅当网怎么推广自己的店铺
  • 比特币网站做任务百度里面的站长工具怎么取消
  • p2p网站开发思路方案搜索引擎优化的英文
  • 长沙公司做网站怎么注册域名
  • 网站制作公司优势南京seo推广优化
  • web前端开发就业seo是什么的简称
  • 网站导航栏动效怎么做的找客户资源的软件免费的
  • 网站建设硬件需求凡科建站怎么导出网页
  • 越秀区手机版网站建设郑州百度搜索优化
  • 香港建设银行招聘网站南昌seo实用技巧
  • 工信部网站备案电话宁波seo排名方案优化公司