luinuxscl/laravel-api-key-manager
Composer 安装命令:
composer require luinuxscl/laravel-api-key-manager
包简介
Package para gestionar API Keys de servicios externos en Laravel.
README 文档
README
Un package para Laravel que facilita la gestión de API Keys de servicios externos. Permite almacenar, encriptar y asociar API keys a diferentes modelos de tu aplicación mediante relaciones polimórficas.
Características
- Almacenamiento seguro de API keys con encriptación opcional
- Relaciones polimórficas para asociar API keys a cualquier modelo de tu aplicación
- Comandos Artisan para la gestión de API keys
- Facade para un acceso simplificado a las funcionalidades del package
- Configuración personalizable
Instalación
Puedes instalar el package a través de Composer:
composer require luinuxscl/laravel-api-key-manager
Publicación de archivos
Después de instalar el package, publica los archivos de configuración y migraciones:
php artisan vendor:publish --provider="Luinuxscl\LaravelApiKeyManager\Providers\APIKeyManagerServiceProvider"
O publica solo lo que necesites:
# Solo configuración php artisan vendor:publish --provider="Luinuxscl\LaravelApiKeyManager\Providers\APIKeyManagerServiceProvider" --tag="config" # Solo migraciones php artisan vendor:publish --provider="Luinuxscl\LaravelApiKeyManager\Providers\APIKeyManagerServiceProvider" --tag="migrations"
Finalmente, ejecuta las migraciones:
php artisan migrate
Configuración
El archivo de configuración config/api_keys.php te permite personalizar el comportamiento del package:
return [ // Define si las API keys deben ser encriptadas al guardarse en la base de datos 'encrypt' => true, // Servicio por defecto 'default_service' => null, ];
Uso básico
Usando la Facade
use Luinuxscl\LaravelApiKeyManager\Facades\APIKeyManager; // Generar una nueva API key $apiKey = APIKeyManager::generate('Mi API Key', 'google-maps', 32, ['environment' => 'production']); // Obtener el valor de la key (desencriptado si corresponde) $keyValue = $apiKey->getDecryptedKey(); // Obtener todas las API keys para un servicio específico $googleKeys = APIKeyManager::getByService('google-maps');
Asociar API keys a modelos
Para asociar API keys a tus modelos, utiliza el trait HasApiKeys:
use Illuminate\Database\Eloquent\Model; use Luinuxscl\LaravelApiKeyManager\Traits\HasApiKeys; class User extends Model { use HasApiKeys; // ... }
Ahora puedes generar y gestionar API keys asociadas a tus modelos:
$user = User::find(1); // Generar una API key asociada al usuario $apiKey = $user->generateApiKey('API Key de Juan', 'stripe', ['role' => 'admin']); // Obtener todas las API keys del usuario $allKeys = $user->apiKeys; // Obtener las API keys del usuario para un servicio específico $stripeKeys = $user->getApiKeysForService('stripe');
Comandos Artisan
El package incluye comandos Artisan para gestionar API keys desde la consola:
# Generar una nueva API key php artisan api-key:generate "API Key de Producción" google-maps # Listar todas las API keys php artisan api-key:list # Listar API keys para un servicio específico php artisan api-key:list --service=google-maps # Almacenar una API key existente php artisan api-key:store "API Key de Producción" google-maps "<API_KEY>"
Seguridad
Las API keys se encriptan por defecto utilizando el mecanismo de encriptación de Laravel. Puedes desactivar esta característica en el archivo de configuración.
Licencia
Este package es software de código abierto licenciado bajo la licencia MIT.
luinuxscl/laravel-api-key-manager 适用场景与选型建议
luinuxscl/laravel-api-key-manager 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 6 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 03 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 luinuxscl/laravel-api-key-manager 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 luinuxscl/laravel-api-key-manager 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 6
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 11
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2025-03-11