d4v/php-jwt

D4v JWT 是 Laravel 对 firebase/php-jwt 的实现

dev-develop 2024-10-01 06:55 UTC

This package is auto-updated.

Last update: 2024-10-01 08:34:15 UTC


README

此包提供了一个方便的方法,在 Laravel 中使用 lib firebase/php-jwt https://packagist.org.cn/packages/firebase/php-jwt

  • 通过外观调用方法 encode()decode()
  • 为了方便,请将配置设置在配置文件中

安装

composer req d4v/php-jwt dev-main

配置

php artisan vendor:publish --tag=config

该配置文件允许您设置发行者(来源)、密钥(私钥)、算法(如何加密数据)和 ttl(有效期)。

return [
    'issuer' => env('APP_URL', 'who-sent-the-token'),
    'secret' => env('JWT_SECRET', 'your-key-here'),
    'algo' => 'HS256',
    'ttl' => 3600, // Expiration in seconds
];

此命令可以根据您的需求为您生成密钥

php artisan key:generate --show

如何使用

简单方式

在其最简单的形式中,该库可以帮助您快速生成 JWT

use D4v\JWT\Facades\JWT;

$token = JWT::encode(['sub'=> 1]);

如果需要,您也可以在运行时完全设置您的参数

payload = [
    'iss' => 'https://mydomain.tld',
    'sub' => 1,
    'iat' => time(),
    'exp' => time() + 60 * 10
];

JWT::encode($payload);

调用 decode() 方法来恢复数据

$decoded = JWT::decode($token);

有关 firebase/php-jwt 的更多信息,请参阅这里: https://packagist.org.cn/packages/firebase/php-jwt