问题

我们访问某个接口的时候,带上 token 请求时,如何在服务端解析出 token 内的信息。上一篇我们实现了登录功能,生成了 token 返回到客户端,下面就来实现一下,客户端返回 token 时,服务端应该怎么解析

实现

1、参考 egg-jwt 写法

可以参考一下:https://github.com/okoala/egg-jwt/blob/master/test/jwt.test.js#L36

2、方法实现

我们在 /controller/user.js 中,新增一个验证方法 getTokenInfo 的方法

  1. 获取请求头 authorization 属性,值为 token
  2. 用 app.jwt.verify(token, app.config.jwt.secret),解析出 token 的值
  // 测试 解析 token
async getTokenInfo() {const { ctx, app } = this;// 1. 获取请求头 authorization 属性,值为 tokenconst token = ctx.request.header.authorization;// 2. 用 app.jwt.verify(token, app.config.jwt.secret),解析出 token 的值const decode = await app.jwt.verify(token, app.config.jwt.secret);// 返回 tokenctx.body = {status: 200,desc: '获取成功',data: { ...decode }};
}

3、路由配置

'use strict';/*** @param {Egg.Application} app - egg application*/
module.exports = app => {const { router, controller } = app;// 注册路由router.post('/api/user/register', controller.user.register);// 登录路由router.post('/api/user/login', controller.user.login);// 测试 token 解析router.get('/api/user/token', controller.user.getTokenInfo);
};

4、测试接口

我用 Apifox 测试一下,流程如下:

1、新建接口

2、配置好接口信息,保存

3、先调用登录接口拿到 token

4、然后将 token 放到测试接口的头部参数里

{"status": 200,"desc": "获取成功","data": {"id": 5,"username": "kaimo313","exp": 1642668827,"iat": 1642582427}
}

这样我们接解析 token 成功了。

eggjs 怎么使用 egg-jwt 实现 token 解析?相关推荐

  1. 在线JWT Token解析解码

    在线JWT Token解析解码 在线JWT Token解析解码 JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案.本工具提供在线解码的功能 JSON Web Token(缩写 ...

  2. JWT 生成Token、解析Token的简单工具类

    pom.xml导入依赖: <dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt& ...

  3. jwt生成token与解析token

    1.生成token与解析token部分代码 pom <!-- token验证 --><dependency><groupId>com.auth0</group ...

  4. JWT生成Token及解析Token

    JWT生成Token详解 [第一部分]历史文章: SpringBoot总结(一)--第一个SpringBoot项目 SpringBoot总结(二)--Spring Boot的自动配置 SpringBo ...

  5. JWT —— 生成Token、解析Token的简单工具类

    目录 1.JWT介绍 2.导入依赖 3.用户类 4.JWT工具类 背景:最近需要实现根据账号密码生成令牌码的功能,token解析后需要得到用户id.用户账号和用户类型.实现起来并不难,解决方法就是在J ...

  6. jwt Claims token 秘钥稍有不同也能解析成功 signWith setSigningKey

    问题描述 使用io.jsonwebtoken.Jwts构造了一个token,在解析这个token时,发现解析秘钥和构建秘钥不完全相同也可以成功解析,代码如下 签发token /** 测试生成token ...

  7. java token生成和验证_SpringBoot集成JWT生成token及校验方法过程解析

    GitHub源码地址:https://github.com/zeng-xian-guo/springboot_jwt_token.git 封装JTW生成token和校验方法 public class ...

  8. php jwt token 解析,JSON Web Token(JWT)入坑详解

    JSON Web Token(JWT)入坑详解 龙行    PHP    2019-6-17    1651    0评论 /** JWT生成类 **/ class Jwt { private $al ...

  9. 前后端分离中使用基于jwt的token进行身份认证

    基于jwt的Token认证机制可以看之前的文章: 基于JWT的Token认证机制实现 在前后端分离中,我们与前端约定一种身份认证机制.当用户登录的时候,我们会返回给前端一个token,前端会将toke ...

最新文章

  1. yarn架构——本质上是在做解耦 将资源分配和应用程序状态监控两个功能职责分离为RM和AM...
  2. php 分页 查询 es,php-如何使分页elasticsearch?
  3. 信息系统项目管理师-第5章:项目范围管理-重点汇总
  4. 清华大学开源迁移学习算法库:基于PyTorch实现已有算法
  5. 最常用的前端网站模板集合
  6. 如何基于FastReport报表工具,生成报表PDF文档展示医院处方笺的内容
  7. 耿建超英语语法---非谓语动词作主语
  8. 如何做一个自律的人?
  9. 细胞器标记物丨FUS抗体高品质结果展示
  10. 30、【backtrader股票策略】《151 trading strategies》中的支撑与阻力策略(support and resistance)
  11. 【毕业N年系列】 毕业第二年
  12. 手机word文档怎么恢复
  13. Win10自动修复失败,无法正常启动
  14. linux网络hack用法之onlink路由
  15. android qq群加群代码,逆向分析某QQ恶意自动邀请加群APK
  16. 在visual studio中出现Error spawning的原因及解决思路
  17. 史上最全的BAT Mysql面试题在这里
  18. 办公室常用赞美英语经典句子
  19. 安卓开发之利用contentprovider进行数据获取
  20. python异步协程,抓取豆瓣top250电影海报。

热门文章

  1. c语言批量修改文件名称,C语言实现批量文档名修改
  2. Shell文件查找之find命令(1)
  3. spring全集 - - - 第五章RESTful开发
  4. 海奥华预言--第七章 慕大陆和远东岛
  5. MFC应用的菜单,工具栏和状态栏(vs2019)
  6. 2021-11-15 基于音乐商店NetMusicShop的复杂查询(二)
  7. 手动挡/自动挡/手自一体/CVT/双离合——变速箱扫盲
  8. keystone中Vertify operation出现:No handlers could be found for logger keystoneclient.httpclient的问题
  9. Bea公司和sun公司介绍
  10. 服务器10GE网卡识别失败