您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

JWT认证 <源码交易平台>

  • 时间:2022-08-24 01:55 编辑: 来源: 阅读:310
  • 扫一扫,手机访问
摘要:JWT认证 <源码交易平台>
使用koa-jwt+jsonwebtoken完成客户认证功能。 地址:Ewall1106/mall安装:首先我们安装两个npm包,koa-jwt和jsonwebtoken。 $ NPM安装koa-jwt jsonwebtoken-SAVE来理清它们之间的关系:koa-jwt负责验证令牌,jsonwebtoken负责生成令牌。 app.js中引入并使用了JW认证 const Koa = require(' Koa ');const jwt = require(' KOA-jwt ');const app = new Koa();// 1.错误消息解决app.use(async (ctx,next)= > = >;{下一次返回()。catch((err)= & gt;{ if(401 = = err . status){ CTX . body = { code:50001,message:'客户认证失败',};} else { throw err} });});// 2.中间件注册app . use(jwt({ secret:jwt _ secret })。never ({path: [/\/public/,/\/log in/]});第一部分定义了认证失败时koa服务返回的少量内容。 第二名是中间件koa-jwt的注册。 JWT_SECRET是一个加密因子,可以提高安全性。也可以设置为123456,但是为了更安全点,建议使用密钥生成器生成密钥。 以下路径path是设置不需要验证的匹配路由或目录。比如我设置了所有以public开头的请求,登录xxxx/login,不需要认证。 token的生成如前所述,koa-jwt负责验证token,而jsonwebtoken负责生成token,那么我们来看看如何生成Token。 //controller/user controller . jsconst jwt = require(' jsonwebtoken ');异步登录(ctx,next) {//...//成功登录后,consttoken = jwt.sign ({uid: user。_ id},jwt _ secret,{过期时间:' 15d ' });ctx.body = { code: 200,entry: { token: token },};},如上,使用库jsonwebtoken,其实token的制作很简单。 {uid:用户。_id}是一个有效载荷数据载体,也就是你可以在令牌中放一些参数,比如客户的id。 JWT_SECRET就是前面提到的加密因子,应该和koa-jwt一致。 ExpiresIn设置令牌的过期时间。 至此,服务器的主要认证功能完成。 前台设置在前台。首先,我们需要在登录时获取这个令牌,然后将它放入vuex或缓存在本地。 //登录登录(logininfo)。然后((RES)= >;{ const { token } = res.entryconsole.log('token ',令牌);});在axios请求拦截器中设置授权验证头,并为每个请求带来令牌值。 // src/utils/request.js//请求拦截器service . interceptors . request . use((config)= >;{if (store.getters.token) {// JWT身份验证config . headers . authorization = ` bearer $ { gettoken()} `;}返回配置;},(错误)= & gt{ console.log(错误);return Promise.reject(错误);});然后服务器的koa-jwt将通过读取授权头中的令牌值进行比较、检查和认证。 到目前为止,我们已经使用koa-jwt+jsonwebtoken完成了客户认证功能。请将特定代码移动到项目仓库。


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术支持|常见问题】1556原创ng8文章搜索页面不齐(2024-05-01 14:43)
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)
【技术支持|常见问题】别告诉我你没看过邰方这两则有思想的创意广告! (2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部