thinkphp5.1中jwt的使用,thinkphp使用JWT-PHP时找不到类解决方法

Posted 叮当Ding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp5.1中jwt的使用,thinkphp使用JWT-PHP时找不到类解决方法相关的知识,希望对你有一定的参考价值。

首先需要使用 composer 安装 jwt,执行如下命令

另外,关于composer的下载可以参考 这篇链接

composer require firebase/php-jwt

安装完成之后,在你的 vendor 目录下会多出如下目录

接下来在 application\\common.php 中定义两个方法,一个生成token,一个验证token

common.php引入jwt

use Firebase\\JWT\\JWT;

生成token

我这里的参数都是从配置文件中直接取的,关于自定义配置文件 点击查看

/**
 * @description 生成token
 * @param Array   $payload 数据
 */
function createToken($payload=[]){
    $secret = config('token.secret');   //密匙
    $iss = config('token.iss');         //签发人(官方字段:非必需)
    $exp = config('token.exp');         //过期时间(官方字段:非必需)
    $aud = config('token.aud');         //受众(官方字段:非必需)
    $nbf = config('token.nbf');         //生效时间(官方字段:非必需)
    $iat = config('token.iat');         //签发时间(官方字段:非必需)
    $payload = [
        'iss'=>$iss,
        'exp'=>$exp,
        'aud'=>$aud,
        'nbf'=>$nbf,
        'iat'=>$iat,
        'data'=>$payload
    ];
    $token = JWT::encode($payload,$secret,'HS256');
    return $token;
}

验证token

这里返回的信息我只取了 生成 token 时 传入的数据

/**
 * @description 验证token
 * @param String  $token token
 * @return Object 返回生成token的信息
 */
function checkToken($token){
    $secret = config('token.secret');   //密匙
    try {
        // JWT::$leeway = 60;//当前时间减去60,把时间留点余地
        $decoded = JWT::decode($token, $secret, ['HS256']);
        $Result = (array)$decoded;
        $Data = $Result['data'];
        return json_encode($Data);
    }catch(Exception $e) {  //其他错误
        $Result = ['code'=>401,'msg'=>'token失效,请重新登录'];
        return json_encode($Result, JSON_UNESCAPED_UNICODE);
    }
}

一个前端的php学习之路

 

PHP学习交流群👉:PHP学习交流群( 901759097 )

前端学习交流群👉:前端交流群 ( 1063233592 )

微信公众号👉:叮当Ding

以上是关于thinkphp5.1中jwt的使用,thinkphp使用JWT-PHP时找不到类解决方法的主要内容,如果未能解决你的问题,请参考以下文章

Thinkphp5.1 JWT的使用

Thinkphp5.1 JWT的使用

Thinkphp5.1 JWT的使用

thinkPHP5配置nginx环境无法打开(require(): open_basedir restriction in effect. File(/mnt/hgfs/root/tp5/thinkp

thinkphp5.0 与thinkphp5.1 db()函数的区别

thinkphp5.1 使用小记