最近面试一个jwt的问题,开始质疑我以前都是只要有请求就一直换取Token这种做法,其实token过期后再更新也是可以的。最近有个项目是TP6,所以就研究了一下。首先翻看tp6官网,作者推荐的jwt模块见下图。

推荐是:https://github.com/QThans/jwt-auth

JWT的流程是:

1、前端post登录地址,后端返回token.

2、前端检查后端是否有返回token,有就保存token(实际后端已经存到cookie里了),以后发请求都带上token .没有就算了。

3、后端检查token是否过期,没就算了,如果过期,将token加入黑名单,并再次返回token.

现在来详细看下。

1 、集成好刚下载的jwt-auth插件。

然后我编写了2个路由,一个登录,一个是api,api需要检查是否有token.

看下login的代码,实际上需要验证用户密码,然后返回给前端token.我这里直接显示token.

访问登录地址,显示了token.

直接访问用户地址。结果显示Mast have token. 这里显示路由group里的中间件起作用了。

在header里 带上token后,可以访问正常,这里注意在返回的token前需要加上 Bearer空格。

为什么是hello,1,因为我的代码是这样的。这里的1是token里存的用户ID。

接下来就是,只要header里有这个token,就是可以访问的。

接下来看下。插件这里写了cookie,如果你header里带cookie:token=返回token。这样也是可以访问的。登录没自动写cookie.其实也应该要写,这样就不用另外在写AuthorizationHeader了。这里就是JWT3种方法中的2种了。选一种用就可以了。JWT推荐用AuthorizationHeader,那我们这里就忽略cookie吧。

那如果是用Postman的话,对应上面2种做法有2个选项是可以勾选的。

打开这2个开关中的1个就可以自动换token了。

代码已经打包上传      tp6整合jwt范例可二次开发做服务器后端-PHP文档类资源-CSDN下载

最后我就说下我遇到的2个坑。需要解决的方法是:

1、安装模版,tp6要用到view是需要安装模版的。

composer require topthink/think-view

2、更新到最新的tp6版本。 Cannot instantiate interface thans\jwt\contract\Storage            

TP6集成JWT的步骤。相关推荐

  1. 如何简单的在 ASP.NET Core 中集成 JWT 认证?

    前情提要:ASP.NET Core 使用 JWT 搭建分布式无状态身份验证系统 文章超长预警(1万字以上),不想看全部实现过程的同学可以直接跳转到末尾查看成果或者一键安装相关的 nuget 包 自上一 ...

  2. 【若依框架】集成JWT

    1.JWT的运用场景: 适用与前后端分离, 适用于对外提供接口时(比如C#要调用Java的后台接口,为了保证接口的安全性,得先拿到token,再发起请求的时候带上token) 2.集成文档说明:(该文 ...

  3. SpringBoot 快速集成 JWT 实现用户登录认证

    前言:当今前后端分离时代,基于Token的会话保持机制比传统的Session/Cookie机制更加方便,下面我会介绍SpringBoot快速集成JWT库java-jwt以完成用户登录认证. 一.JWT ...

  4. SpringBoot集成JWT实现Token登录验证

    目录 1.1 JWT是什么? 1.2 JWT主要使用场景 1.3 JWT请求流程 1.4 JWT结构 二,SpringBoot集成JWT具体实现过程 2.1添加相关依赖 2.2自定义跳出拦截器的注解 ...

  5. asp.net core 集成JWT

    [什么是JWT] JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案. JWT的官网地址:https://jwt.io/ 通俗地来讲,JWT是能代表用户身份的令牌,可以使用JWT ...

  6. json web token没有哪个成分_SpringBoot 2.1.4集成JWT实现token验证

    SpringBoot 2.1.4集成JWT实现token验证

  7. sa-token集成jwt

    向spring容器中加入一下类:用于重写: <!-- https://mvnrepository.com/artifact/cn.dev33/sa-token-spring-boot-start ...

  8. 使用Gin框架集成JWT,源码、详解、面试问题

    使用Gin框架集成JWT,源码.详解.面试问题 一.什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519). ...

  9. JWT springboot集成jWT

    1.1官网介绍 地址:https://jwt.io/ JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compac ...

最新文章

  1. 第五节 8登陆练习操作
  2. Gym - 101889I Imperial roads(最小生成树+树链剖分+线段树)
  3. centos 6 安装mysql,CentOS6.5安装MySQL教程(完整教程)
  4. Ubuntu扩展触摸屏触控错位修复
  5. 什么是实践中真正在用的数据科学系统?
  6. MySQL绿色版安装(mysql-5.7.12-win32)
  7. jqGrid获取数据库数据的方式
  8. [内附完整源码和文档] 基于JAVA的干部档案管理系统
  9. #paypay付款测试#
  10. CodeForces128A - Statues 解题报告
  11. 乔治城大学计算机科学专业,乔治城大学计算机系
  12. 前端工程师知识体系结构:
  13. 燕山大学——软件用户界面设计(五)UI架构
  14. html打印时显示不全,打印表格时内容显示不完整怎么办?四种方法解决WPS不完整问题...
  15. 11年北漂老码农转行!黯然离场...
  16. 阿里专家梁笑:2018双十一下单成功率99.9%!供应链服务平台如何迎接大促 1
  17. 2007年十大最帅网站CEO
  18. 忘记了word文件打开密码
  19. 【更新】Project 读写管理控件Aspose.Tasks V17.5发布 | 附下载
  20. 学霸计算机考试新闻,697分考入清华却退学,这个襄阳学霸高考二刷699分!一心入行人工智能...

热门文章

  1. 现代电商会员管理新玩法——付费会员
  2. 如何利用在线工具更改寸照底色
  3. Python中socket解读
  4. Zeepelin系列(一)Zeepelin安装和配置以及对Hive的基本使用
  5. 国外问卷调查该怎么做?入门须知!
  6. Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04
  7. 华为设备常用软件包名
  8. 计算机领域区块链是什么是意思,为什么区块链瑞普顿RXP是不可篡改的
  9. php dl函数找不到,php的dl函数用法实例_PHP - strtoupper
  10. Java 进程启停及诊断 Jarboot大改版、焕然一新