📜  ttl jwt - PHP (1)

📅  最后修改于: 2023-12-03 14:48:03.015000             🧑  作者: Mango

TTL JWT - PHP

TTL JWT - PHP

TTL JWT - PHP 是一个用于处理 JSON Web Tokens (JWT) 的 PHP 库。它提供了创建、验证和解析 JWT 的功能,同时还包含了处理 JWT 过期时间 (Time To Live, TTL) 的特性。

特性
  • 创建 JWT: 通过使用提供的密钥和一组声明,可以轻松地创建 JWT。
  • 验证 JWT: 对 JWT 进行签名验证和有效性(过期时间、使用时间等)验证。
  • 解析 JWT: 解析并提取 JWT 中的负载信息。
  • TTL 功能: 允许设置 JWT 的过期时间,并提供可选的自定义 TTL 算法。
  • 支持多种算法: 支持 HMAC 算法和 RSA 算法进行 JWT 的签名和验证。
  • 易于使用: 提供简单的接口和方法,方便开发人员集成到现有项目中。
安装

可以通过 Composer 在你的 PHP 项目中安装 TTL JWT - PHP。

composer require ttl-jwt-php
示例代码
创建 JWT
<?php

use TtlJwt\Jwt;
use TtlJwt\Algorithm\HmacSha256;

// 密钥
$secretKey = 'your-secret-key';

// 负载信息
$payload = [
    'user_id' => 123,
    'username' => 'john_doe',
    'roles' => ['admin', 'user']
];

// 创建 JWT
$jwt = JWT::create($payload, $secretKey, new HmacSha256());

echo $jwt;
验证 JWT
<?php

use TtlJwt\Jwt;
use TtlJwt\Algorithm\HmacSha256;

// 密钥
$secretKey = 'your-secret-key';

// JWT
$jwt = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxMjMsInVzZXJuYW1lIjoiam9obl9kb2UiLCJyb2xlcyI6WyJhZG1pbiIsInVzZXIiXX0.V4mImLdYA2i4NqhYO4sGcPOGnNwtvjQEF0mBMyYkVhs';

// 验证 JWT
$isValid = JWT::validate($jwt, $secretKey, new HmacSha256());

if ($isValid) {
    echo 'JWT is valid.';
} else {
    echo 'JWT is not valid.';
}
解析 JWT
<?php

use TtlJwt\Jwt;
use TtlJwt\Algorithm\HmacSha256;

// 密钥
$secretKey = 'your-secret-key';

// JWT
$jwt = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxMjMsInVzZXJuYW1lIjoiam9obl9kb2UiLCJyb2xlcyI6WyJhZG1pbiIsInVzZXIiXX0.V4mImLdYA2i4NqhYO4sGcPOGnNwtvjQEF0mBMyYkVhs';

// 解析 JWT
$payload = JWT::parse($jwt, $secretKey, new HmacSha256());

print_r($payload);
文档

详细的文档和使用示例可以在 TTL JWT - PHP GitHub 仓库 中找到。

贡献

如果你发现了 bug 或者有任何建议,欢迎在 TTL JWT - PHP GitHub 仓库 中提出 issue 或者 pull 请求。

许可证

TTL JWT - PHP 使用 MIT 许可证。详细信息请参阅许可证文件。

以上就是 TTL JWT - PHP 的简介,希望对你有所帮助!