定制 keron-digital/auth-redis-storage-bundle 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

Latest Stable Version License 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\TokenBlacklistInterface
  • KeronDigital\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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-05-05

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固