承接 luinuxscl/laravel-api-key-manager 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

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.

统计信息

  • 总下载量: 6
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

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

其他信息

  • 授权协议: Unknown
  • 更新时间: 2025-03-11

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固