ThinkPHP6使用JWT+中间件实现Token验证

本文详细介绍了如何在ThinkPHP6中使用JWT进行Token验证,包括JWT扩展包的安装、直接生成Token及结合中间件实现验证。通过代码示例和请求接口测试,提供了一步步的实战教程,帮助开发者避免遇到常见错误。
摘要由CSDN通过智能技术生成

目录

前言

一、JWT介绍

二、使用composer安装JWT扩展包

 三、在ThinkPHP6中直接使用JWT生成验证Token(简单粗暴)

(一)代码文件

(二)请求接口测试

四、在ThinkPHP6中使用JWT+中间件生成验证Token

(一)代码文件

(二)请求接口测试

 五、总结


前言

       最近看了很多关于TP6使用JWT的文章,总结:按照他们的步骤——几乎不行,所以准备自己写一篇偏向实战的文章,也当做个记录。


一、JWT介绍

       不喜欢搬文章,所以这篇文章,我愿称他为全网最详!(里面详细介绍了JWT是什么为什么要用优势结构用法等)

JWT详解

如果想直接看代码,请继续向下↓


二、使用composer安装JWT扩展包

composer require firebase/php-jwt


 三、在ThinkPHP6中直接使用JWT生成验证Token(简单粗暴)

(一)代码文件

(已开启多应用模式)

composer require topthink/think-multi-app

common.php:

<?php
// 应用公共文件
use \Firebase\JWT\JWT;
use Firebase\JWT\Key;//在这个类的参数这里踩了坑,可恶

//生成验签
function signToken($data) :string
{
    $key='LAL@lc!';         //这里是自定义的一个随机字串,应该写在config文件中的,解密时也会用,相当于加密中常用的 盐-salt
    $token=array(
        "iss"=>$key,        //签发者 可以为空
        "aud"=>'',          //面象的用户,可以为空
        "iat"=>time(),      //签发时间
        "nbf"=>time()+3,    //在什么时候jwt开始生效  (这里表示生成100秒后才生效)
        "exp"=> time()+7200, //token 过期时间
        "data"=>$data           //记录的userid的信息,这里是自已添加上去的,如果有其它信息,可以再添加数组的键值对
    );
    return JWT::enc
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PHP太baby咯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值