下载 jwt
composer require firebase/php-jwt
在http下创建一个service文件夹 存放Jwt类
Jwt 类内代码
<?php
namespace App\Http\Service;
use Firebase\JWT\JWT;
class JwtToken
{
public function generateToken($user_id)
{
$key = '小鱼'; //钥匙 自定义即可
$token = array(
"iss"=>$key,
"aud"=>'www.exam.com/index.php/api/book', //自定义网址
"iat"=>1640653922,//存入的时间
"nbf"=>1640653922,//生效的时间
"exp"=>1641653922,//过期的时间
"data"=>[
'user_id'=>$user_id,
]
);
//进行加密
$jwt = JWT::encode($token,$key,"HS256");
cache()->set($user_id,$jwt);
//存入缓存方便下次读取
return $jwt;
}
//解密TOKEN
public function decodeToken($token)
{
$key = '小鱼';
//通过Hs256和钥匙进行解密 jwt
$decoded = JWT::decode($token, $key, array('HS256'));
//这里可以直接返回解密后的数据 这里我直接返回的用户id
// return $decoded;
return $decoded->data->user_id;
}
}
本文介绍如何使用Composer安装Firebase的JWT库,并创建JwtToken类,实现用户ID的安全加密和解密。重点在于如何在HTTP服务中创建JWT并存储在缓存中以简化后续访问。

被折叠的 条评论
为什么被折叠?



