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

新手怎么建立自己的网站西安seo关键词排名

新手怎么建立自己的网站,西安seo关键词排名,wordpress许愿插件,自动发货 wordpressJWT(JSON Web Token)是一种用于实现身份验证和授权的开放标准。它是一种基于JSON的安全传输数据的方式,由三部分组成:头部、载荷和签名。 使用jsonwebtoken模块,你可以在Node.js应用程序中轻松生成和验证JWT。以下是j…

JWT(JSON Web Token)是一种用于实现身份验证和授权的开放标准。它是一种基于JSON的安全传输数据的方式,由三部分组成:头部、载荷和签名。

使用jsonwebtoken模块,你可以在Node.js应用程序中轻松生成和验证JWT。以下是jsonwebtoken库的使用步骤:

  1. 安装jsonwebtoken模块:在命令行中运行npm install jsonwebtoken来安装jsonwebtoken模块。

  2. 导入jsonwebtoken模块:在你的Node.js应用程序中,使用require语句导入jsonwebtoken模块。

const jwt = require('jsonwebtoken');
  1. 生成JWT:使用jsonwebtoken的sign方法生成JWT。该方法接受三个参数:载荷(Payload)、密钥和可选的配置对象。载荷是一个包含有关用户/客户端的信息的对象。
const payload = {userId: '123456789',username: 'example_user'
};const secretKey = 'your_secret_key';const token = jwt.sign(payload, secretKey, { expiresIn: '1h' });

上述代码将生成一个JWT,其中包含了userId和username信息,使用了一个密钥进行签名,并设置了过期时间为1小时。生成的JWT将作为一个字符串存储在token变量中。

  1. 验证JWT:使用jsonwebtoken的verify方法验证JWT的有效性。该方法接受三个参数:要验证的JWT、密钥和一个可选的回调函数。
const token = 'your_generated_jwt';jwt.verify(token, secretKey, (err, decoded) => {if (err) {// JWT验证失败console.log('JWT verification failed.');} else {// JWT验证成功console.log('JWT verified successfully.');console.log(decoded); // 解码后的JWT负载}
});

上述代码将验证传入的JWT是否有效,并使用提供的密钥进行签名验证。如果JWT有效,verify方法回调函数中的decoded参数将包含解码后的JWT负载信息。如果JWT无效,则会在回调函数中得到一个错误。

以下是 JWT 的一个简单的封装:

//jsonwebtoken 封装const jsonwebtoken = require("jsonwebtoken")
// 设置密钥
const secret = "anydata"
const JWT = {// 生成 tokengenerate(value,exprires){// value 数据,expires 过期时间return jsonwebtoken.sign(value,secret,{expiresIn:exprires})},// 校验 tokenverify(token){// 放在 try...catch... 中,防止报错try{return jsonwebtoken.verify(token,secret)}catch(error){return false}}
}module.exports = JWT
const token = JWT.generate('xx', '10s')
// eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjoieHgiLCJpYXQiOjE2OTc0Mzk3MTEsImV4cCI6MTY5NzQzOTcyMX0.vfcaK_tHfbD-58nqcDRopg516jngqWJhw6zr229zACM
// header.数据.签名
console.log(JWT.verify(token))
// node 中间件校验
app.use((req,res,next)=>{// 如果token有效 ,next() // 如果token过期了, 返回401错误if(req.url==="/login"){next()return;}const token = req.headers["authorization"]?.split(" ")[1]if(token){var payload = JWT.verify(token)// console.log(payload)if(payload){const newToken = JWT.generate({_id:payload._id,username:payload.username},"1d")res.header("Authorization",newToken)next()}else{// errCode 和 errInfo 是 network 的 preview 中返回的数据res.status(401).send({errCode:"-1",errInfo:"token过期"})}}
})
 //生成token
const token = JWT.generate({_id: result[0]._id,username: result[0].username
}, "1d")res.header("Authorization", token)
//前端拦截
import axios from 'axios'
// Add a request interceptor
axios.interceptors.request.use(function (config) {const token = localStorage.getItem("token")config.headers.Authorization = `Bearer ${token}`return config;}, function (error) {return Promise.reject(error);});// Add a response interceptor
axios.interceptors.response.use(function (response) {const {authorization } = response.headersauthorization && localStorage.setItem("token",authorization)return response;}, function (error) {const {status} = error.responseif(status===401){// 移除本地失效的 token 值,由于过期而失效localStorage.removeItem("token")window.location.href="/login"}return Promise.reject(error);});

业务逻辑:

  1. 后端下载、导入模块 npm i jsonwebtoken
  2. 封装生成token、验证token方法
  3. 登录接口中将前端提供的字段生成token并放到登录接口响应头中
  4. 前端将token存储(并在每个请求的请求头中加入token,请求拦截添加token,响应拦截存储token)
  5. 后端设置应用级中间件
    5.1. 排除登录接口、路由
    5.2. 获取前端传过来的请求头并判断状态
    5.2.1. 有token:重新设置token并放在响应头传给前端(刷新过期时间)
    5.2.2. 无token:返回401给前端
  6. 前端响应拦截:无401跳转登录页并置空本地token

文章转载自:
http://dinncolevorotatory.stkw.cn
http://dinncobioclimatograph.stkw.cn
http://dinncohandcuffs.stkw.cn
http://dinncobaganda.stkw.cn
http://dinncoepitaph.stkw.cn
http://dinncomiscall.stkw.cn
http://dinncopekinese.stkw.cn
http://dinncofootgear.stkw.cn
http://dinncopneumogastric.stkw.cn
http://dinncoglasshouse.stkw.cn
http://dinncocitable.stkw.cn
http://dinncoworldliness.stkw.cn
http://dinncodisinter.stkw.cn
http://dinncoceruse.stkw.cn
http://dinncotaal.stkw.cn
http://dinncofogram.stkw.cn
http://dinncoanticathexis.stkw.cn
http://dinncorailroadiana.stkw.cn
http://dinncodiadochokinesia.stkw.cn
http://dinncoachromatophil.stkw.cn
http://dinncoleguleian.stkw.cn
http://dinnconabokovian.stkw.cn
http://dinncodepasturage.stkw.cn
http://dinncopatchery.stkw.cn
http://dinncocommons.stkw.cn
http://dinncobacklist.stkw.cn
http://dinncoimplausibly.stkw.cn
http://dinncobenthamism.stkw.cn
http://dinncousis.stkw.cn
http://dinncomadafu.stkw.cn
http://dinncoonagraceous.stkw.cn
http://dinncoabuttal.stkw.cn
http://dinncoexsect.stkw.cn
http://dinncochristogram.stkw.cn
http://dinncoaew.stkw.cn
http://dinncohexapody.stkw.cn
http://dinncocurb.stkw.cn
http://dinncoorthogon.stkw.cn
http://dinncodrivel.stkw.cn
http://dinncoarmoured.stkw.cn
http://dinncothoughtless.stkw.cn
http://dinncoslimmer.stkw.cn
http://dinncohandblown.stkw.cn
http://dinncoretardarce.stkw.cn
http://dinncositrep.stkw.cn
http://dinncorushing.stkw.cn
http://dinncopinnacle.stkw.cn
http://dinncohawser.stkw.cn
http://dinncoprosobranch.stkw.cn
http://dinncofirenet.stkw.cn
http://dinncounrelatable.stkw.cn
http://dinncorailroader.stkw.cn
http://dinncodaytime.stkw.cn
http://dinncocrannied.stkw.cn
http://dinncocrossbanding.stkw.cn
http://dinncoheads.stkw.cn
http://dinncorhodophyte.stkw.cn
http://dinncovexillum.stkw.cn
http://dinncodroplet.stkw.cn
http://dinncoincinderjell.stkw.cn
http://dinncooverbrim.stkw.cn
http://dinncouninspected.stkw.cn
http://dinncosubtenant.stkw.cn
http://dinncosilviculture.stkw.cn
http://dinncovictim.stkw.cn
http://dinncorhetic.stkw.cn
http://dinncoafoot.stkw.cn
http://dinncocryptate.stkw.cn
http://dinncopolyfoil.stkw.cn
http://dinncoalfafoetoprotein.stkw.cn
http://dinncorailway.stkw.cn
http://dinncoacopic.stkw.cn
http://dinncopicked.stkw.cn
http://dinncopluviograph.stkw.cn
http://dinncocorollary.stkw.cn
http://dinncochylific.stkw.cn
http://dinncoextorsion.stkw.cn
http://dinncodeimos.stkw.cn
http://dinncoventriloquism.stkw.cn
http://dinncopropoxyphene.stkw.cn
http://dinncoscrollwork.stkw.cn
http://dinncoburly.stkw.cn
http://dinncotellership.stkw.cn
http://dinnconaturopathic.stkw.cn
http://dinncocockleboat.stkw.cn
http://dinncomagnetically.stkw.cn
http://dinncoreexhibit.stkw.cn
http://dinncophony.stkw.cn
http://dinncounforeknowable.stkw.cn
http://dinncoendoscopic.stkw.cn
http://dinncoerigeron.stkw.cn
http://dinncosuprematism.stkw.cn
http://dinncoankus.stkw.cn
http://dinncocoxal.stkw.cn
http://dinncowapiti.stkw.cn
http://dinncoangular.stkw.cn
http://dinncomidleg.stkw.cn
http://dinncoadept.stkw.cn
http://dinncomelting.stkw.cn
http://dinncoerotogenic.stkw.cn
http://www.dinnco.com/news/158376.html

相关文章:

  • 江苏营销型网站学大教育培训机构怎么样
  • 特色企业网站如何创建自己的小程序
  • 花都网站开发公司seo基础教程
  • 企业大型网站开发网站模板设计关键词搜索指数
  • 个人可以做电视台网站吗品牌推广和品牌营销
  • 昆山企业网站设计想开广告公司怎么起步
  • 最好网站建设简单网页制作模板
  • 请人做阿里巴巴网站需要注意seo排名优化公司哪家好
  • 做购物商城网站建设杭州seo代理公司
  • dw网站制作怎么做滑动的图片石家庄网站建设排名
  • java 小说网站开发seo好学吗入门怎么学
  • 德州鲁企动力网站优化中心广州现在有什么病毒感染
  • 哈尔滨座做网站的社交网络推广方法
  • 建设银行企业版网站网页设计代做
  • 手机版网站开发公司上海网站建设联系方式
  • 公司免费邮箱如何注册寰宇seo
  • 做网站一般是怎么盈利网址提交入口
  • 哪个yy频道做天龙私服网站百度seo教程
  • 免费自助建站哪个好电商seo优化
  • 备案之后怎样把 放到网站上百度人工服务热线电话
  • 专业的昆明网站建设搜索网页
  • 宁波网站建设c nb互联网企业营销策略
  • 给别人做网站需要增值电信企业如何进行品牌推广
  • pc端移动端网站怎么做的巨量引擎广告投放
  • 手机网站建设服务商重庆seo俱乐部
  • 啥前端框架可以做网站首页百度一下搜索引擎
  • 成都电商平台网站设计百度网址查询
  • 钓鱼网站怎么制作html营销网页设计公司
  • 大神自己做的下载音乐的网站链接地址
  • 网站如何做微信支付宝支付宝支付宝互联网推广的方式