keron-digital/auth-redis-storage-bundle
最新稳定版本:v1.0.4
Composer 安装命令:
composer require keron-digital/auth-redis-storage-bundle
包简介
Redis-backed storage solution for Symfony applications to manage token lifecycles. Provides services for blacklisting invalidated tokens and tracking currently active tokens via their unique IDs (JTI, UUID)
关键字:
README 文档
README
Provides Redis-based services for token blacklisting and active token tracking in Symfony applications, using unique token identifiers (e.g., JTI, UUID).
Quick Start
1. Installation
Install the bundle using Composer:
composer require keron-digital/auth-redis-storage-bundle
Enable the bundle in your config/bundles.php:
<?php // config/bundles.php return [ // ... other bundles KeronDigital\AuthRedisStorageBundle\KeronDigitalAuthRedisStorageBundle::class => ['all' => true], ];
2. Configuration
Ensure you have a Redis client service already configured in your Symfony application. Then, create the bundle's configuration file and specify your client service ID:
# config/packages/keron_digital_auth_redis_storage.yaml keron_digital_auth_redis_storage: # REQUIRED: Point this to your application's Redis service ID # The client service must provide e.g. \Redis, \Predis\ClientInterface, or a PSR Cache Pool using Redis redis_client_service_id: 'snc_redis.default' # Example ID, change as needed
The bundle uses default key prefixes (auth:bl: for blacklist, auth:active: for active tokens).
See docs/configuration.md for details on customizing prefixes and other options.
3. Basic Usage
Inject the interfaces into your services where needed:
KeronDigital\AuthRedisStorageBundle\Domain\Contract\TokenBlacklistInterfaceKeronDigital\AuthRedisStorageBundle\Domain\Contract\ActiveTokenStorageInterface
Example: Checking if a token is blacklisted
<?php namespace App\Security; // Your application's namespace use KeronDigital\AuthRedisStorageBundle\Domain\Contract\TokenBlacklistInterface; use Symfony\Component\Security\Core\Exception\AuthenticationException; class TokenValidator { public function __construct(private readonly TokenBlacklistInterface $blacklist) {} /** * @throws AuthenticationException */ public function validateTokenId(string $tokenId): void { if ($this->blacklist->isBlacklisted($tokenId)) { // Consider logging this attempt throw new AuthenticationException('Token is blacklisted.'); } // ... other validation ... } }
See docs/usage.md for more examples on blacklisting, marking tokens active, checking active status, and revoking.
Documentation
For detailed information, please refer to the docs/ directory:
[configuration.md](docs/CONFIGURATION.md): Detailed configuration options.[usage.md](docs/USAGE.md): Comprehensive usage examples.[testing.md](docs/TESTING.md): Information on running the bundle's tests (for contributors).
License
This bundle is released under the MIT License. See the LICENSE file for details.
统计信息
- 总下载量: 10
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 4
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-05-05