jwt组成三部分:
(1)头部:一个json字符串,包含当前令牌名称,以及加密算法。
(2)载荷:一个json字符创,包含一些自定义的信息。
(3)签名:由头部信息使用base64加密之后,拼接上载荷使用base64加密之后的部分,在加上当前的密钥,进行头部中的加密算法进行加密。
header (base64后的)
payload (base64后的)
secret
1.安装composer包
composer require firebase/php-jwt
2.封装创建Token和验证token方法
<?php
namespace App\Service;
use Firebase\JWT\JWT;
use Firebase\JWT\Key;
class Token
{
protected $key;
public function __construct()
{
$this->key = 'AIDJANLG6LASLADGASD5L6K6H9SF8AG85G9S13G3GHG7613GH6G';
}
/**
* 生成token
*/
public function createToken($userId)
{
$payload = array(
"iss" => "",
"aud" => "",
"iat" => time(),
"nbf" => time(),
"exp" => time()+7200,
"uid" => $userId
);
$jwt = JWT::encode($payload, $this->key, '
PHP实现JWTToken的创建与验证

文章介绍了如何在PHP环境中使用Firebase/php-jwt库来生成和验证JWTToken。首先,JWT由头部、载荷和签名三部分组成,然后展示了如何通过composer安装库,封装创建和解码Token的方法。接着,创建了一个Token中间件用于验证请求中的Token,如果验证失败则返回错误信息。最后,将该中间件应用到特定路由以实现身份验证。
最低0.47元/天 解锁文章
949

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



