pierotto/tokenizer-bundle
最新稳定版本:2.0.0
Composer 安装命令:
composer require pierotto/tokenizer-bundle
包简介
The package is used for secure data exchange between two parties using a JWT token.
README 文档
README
A lightweight Symfony bundle for encoding and decoding data using JWT.
It allows secure, structured communication between services or systems using tokenized data.
Requirements
- PHP 8.3+
- Symfony 7.0+
Installation
Install the bundle via Composer:
composer require pierotto/tokenizer-bundle
Register the bundle (if using Symfony without Flex):
// bundles.php return [ Pierotto\TokenizerBundle\Infrastructure\Symfony\TokenizerBundle::class => ['all' => true], ];
Configuration
Add the following configuration to your config/packages/tokenizer.yaml:
tokenizer: algorithm: 'RS256' private_key: '%kernel.project_dir%/config/keys/private.key' public_key: '%kernel.project_dir%/config/keys/public.key' passphrase: 'abcd123'
Key generation
Generate a private and public key pair using the console command:
php bin/console tokenizer:generate:keys
Usage
Start by implementing the \Pierotto\TokenizerBundle\Tokenizer\TokenInterface.
This object represents the data that will be encoded into a token.
<?php declare(strict_types=1); namespace App\Token; use Pierotto\TokenizerBundle\Tokenizer\TokenInterface; class TokenClass implements TokenInterface { public function __construct( private readonly int $user, ) {} public static function createFromStdObject(\stdClass $token): self { return new self($token->user); } public function jsonSerialize(): array { return ['user' => $this->user]; } public function getUser(): int { return $this->user; } }
Now you can encode and decode your object using the tokenizer service:
$token = $tokenizer->encode(new TokenClass(1)); /** @var TokenClass $object */ $object = $tokenizer->decode($token, TokenClass::class);
统计信息
- 总下载量: 8
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-04-19