a4sex/jwt-manager
Composer 安装命令:
composer require a4sex/jwt-manager
包简介
jwt-manager for FreedomSex project
README 文档
README
PHP библиотека для работы с JSON Web Tokens в проектах FreedomSex
Описание
JWT Manager — это современная PHP библиотека для создания и валидации JWT токенов с поддержкой стандартов RFC 7517 (JWK) и RFC 7519 (JWT). Библиотека предоставляет высокоуровневый API для безопасной работы с токенами в enterprise-приложениях.
Возможности
- ✅ Полная поддержка JWT стандартов (RFC 7517, RFC 7519)
- ✅ Управление JSON Web Keys (JWK) через JWKManager
- ✅ Гибкая структура payload с поддержкой пользовательских данных
- ✅ Интеграция с Symfony Security
- ✅ Поддержка PHP 8.2+
- ✅ Полное тестовое покрытие
Содержание
Установка
composer require a4sex/jwt-manager
Быстрый старт
Генерация ключей
# Создание директории для ключей
mkdir -p config/keys
cd config/keys
# Генерация RSA ключей
openssl genrsa -out private.key 2048
openssl rsa -in private.key -pubout -out public.key
Использование
use A4Sex\Services\JWTManager;
// Создание менеджера
$manager = new JWTManager(
'/path/to/private.key',
'/path/to/public.key',
3600, // TTL в секундах
'your-app-issuer'
);
// Генерация токена
$token = $manager->create($user);
// Валидация токена
$payload = $manager->load($token);
Подробное использование
Базовый пример
<?php
use A4Sex\Services\JWTManager;
$manager = new JWTManager('/path/to/private.key', '/path/to/public.key', 3600);
class User {
public function getId() { return 123; }
public function getRoles() { return ['ROLE_USER']; }
}
$user = new User();
$token = $manager->create($user);
$payload = $manager->load($token);
echo $payload->uid; // 123
echo $payload->roles; // ['ROLE_USER']
Интеграция с Symfony
# config/services.yaml
services:
A4Sex\Services\JWTManager:
arguments:
- '%jwt_private_key_path%'
- '%jwt_public_key_path%'
- '%jwt_ttl%'
- '%jwt_issuer%'
Документация
Основные разделы
Конфигурация
Требования
- PHP: 8.2 или выше
- Composer: для управления зависимостями
- OpenSSL: для генерации RSA ключей
Зависимости
{
"php": "^8.2",
"firebase/php-jwt": "^6.0",
"symfony/deprecation-contracts": "*"
}
Переменные окружения
# JWT ключи
JWT_PRIVATE_KEY_PATH=/secure/path/to/private.key
JWT_PUBLIC_KEY_PATH=/secure/path/to/public.key
JWT_TTL=3600
JWT_ISSUER=my-app-production
Вклад
Мы приветствуем вклад в развитие проекта! Пожалуйста, ознакомьтесь с нашими правилами:
- Следуйте стандартам PSR-12 для PHP кода
- Добавляйте тесты для новых функций
- Обновляйте документацию при внесении изменений
- Используйте conventional commits для сообщений
Разработка
# Клонирование репозитория
git clone https://github.com/a4sex/jwt-manager.git
cd jwt-manager
# Установка зависимостей
composer install
# Запуск тестов
./vendor/bin/phpunit
# Линтинг Markdown (локально)
composer lint:md
# Авто‑исправление Markdown
composer fix:md
Безопасность
Рекомендации по безопасности
- Хранение ключей: Никогда не коммитите ключи в систему контроля версий
- Права доступа: Ограничьте доступ к файлам ключей (600)
- Ротация ключей: Регулярно обновляйте ключи (рекомендуется каждые 3-6 месяцев)
- HTTPS: Всегда используйте HTTPS для передачи токенов
Лицензия
GPL-3.0-or-later — см. LICENSE
Благодарности
- Firebase PHP-JWT — базовая библиотека JWT
- Symfony — компоненты и лучшие практики
Поддержка
- 🐛 Issues: Создавайте issues для отчетов об ошибках
- 💬 Discussions: Обсуждайте идеи и задавайте вопросы
a4sex/jwt-manager 适用场景与选型建议
a4sex/jwt-manager 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 180 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 08 月 17 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 a4sex/jwt-manager 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 a4sex/jwt-manager 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 180
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 6
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: GPL-3.0-or-later
- 更新时间: 2023-08-17