little-apps/littlejwt

用Little JWT保护您的Laravel Web应用 - 无缝令牌管理的关键!

v2.2.0-beta 2024-06-02 06:01 UTC

README

Little JWT

Latest Version on Packagist GitHub Tests Action Status Format (PHP) Coverage Status Total Downloads

用Little JWT保护您的Laravel Web应用 - 无缝令牌管理的关键!

显示您的支持

Little Apps依靠像您这样的人来保持我们的软件运行。如果您想显示对Little Registry Cleaner的支持,则可以通过PayPal、Payza或信用卡(通过Stripe)进行捐赠 进行捐赠。请注意,任何金额都有帮助(甚至只是一美元)。

要求

  • PHP v8.1或更高版本
  • Laravel 10.x或11.x

安装

通过composer安装包

composer require little-apps/littlejwt

使用以下命令发布配置文件

php artisan vendor:publish --tag="littlejwt-config"

生成用于构建和验证JWT的密钥短语

php artisan littlejwt:phrase

有关生成不同类型密钥的信息,请参阅文档

升级

重要:在继续之前,请注意v2.0仍在测试版,不建议用于生产系统。

备份配置文件

cp config/littlejwt.php config/littlejwt.php.old

通过composer升级包

composer require little-apps/littlejwt:"^2.0.0@beta"

发布新的配置文件(覆盖现有配置文件)

php artisan vendor:publish --tag="littlejwt-config" --existing

您需要手动设置配置文件以匹配旧配置文件。

用法

构建JWT

use LittleApps\LittleJWT\Facades\LittleJWT;
use LittleApps\LittleJWT\Build\Builder;

$jwt = LittleJWT::create(function (Builder $builder) {
    $builder
        // Adds claim 'abc' with value 'def' to header claims.
        ->abc('def', true)
        // Adds claim 'ghi' with value 'klm' to payload claims.
        ->ghi('klm')
        // Adds claim 'nop' with value 'qrs' to payload claims.
        ->nop('qrs', false);
});

$token = (string) $jwt;
// $token = "ey...";

验证JWT

use LittleApps\LittleJWT\Facades\LittleJWT;
use LittleApps\LittleJWT\Validation\Validator;

$token = "ey...";

$passes = LittleJWT::validateToken($token, function (Validator $validator) {
    $validator
        // Checks the value of the 'abc' claim in the header === (strictly equals) 'def'
        ->equals('abc', 'def', true, true)
        // Checks the value of the 'ghi' claim in the payload == (equals) 'klm'
        ->equals('ghi', 'klm')
        // Checks the value of the 'nop' claim in the payload === (strictly equals) 'qrs'
        ->equals('nop', 'qrs', true, false);
});

if ($passes) {
    // JWT is valid.
} else {
    // JWT is invalid.
}

更多文档

更多文档位于docs.getlittlejwt.com

测试

composer test

变更日志

有关最近更改的更多信息,请参阅变更日志

贡献

有关详细信息,请参阅贡献指南

安全漏洞

请参阅我们如何报告安全漏洞的安全策略

致谢

Little JWT使用以下库构建

贡献者

感谢以下人员的贡献

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件