risetechapps / api-key-for-laravel
Installs: 122
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/risetechapps/api-key-for-laravel
Requires
- php: ^8.3
- illuminate/support: ^12
- laravel/sanctum: ^4.0
- laravel/tinker: ^2.10.1
- risetechapps/address-for-laravel: ^1.0.0
- risetechapps/code-generate: ^1.0
- risetechapps/form-request-for-laravel: ^1.0.0
- risetechapps/has-uuid-for-laravel: ^1.0
- risetechapps/media-for-laravel: ^1.0.0
- risetechapps/repository-for-laravel: ^1.1.0
- risetechapps/risetools: ^1.2.0
- risetechapps/to-upper-for-laravel: ^1.0
- risetechapps/view-suite: ^1.0.0
- tpetry/laravel-postgresql-enhanced: ^3.5.0
Requires (Dev)
- fakerphp/faker: ^1.23
- laravel/pail: ^1.2.2
- laravel/pint: ^1.24
- laravel/sail: ^1.41
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.6
- pestphp/pest: ^4.1
- pestphp/pest-plugin-laravel: ^4.0
README
Sobre o Pacote
O risetechapps/api-key-for-laravel é uma solução robusta e completa para a gestão de chaves de API, planos de assinatura, cupons de desconto e logs de requisição em aplicações construídas com o framework Laravel.
Este pacote transforma sua aplicação em uma plataforma de serviços, permitindo que você:
- Gerencie planos de acesso e assinaturas de usuários.
- Crie e gerencie cupons de desconto.
- Gere e valide chaves de API de forma segura, utilizando o Laravel Sanctum.
- Registre e monitore todas as requisições de API para fins de auditoria e análise.
- Fornece modelos (
ApiKey,Plan,Coupon,RequestLog, etc.) e controladores prontos para uso.
Instalação
Você pode instalar o pacote via Composer:
composer require risetechapps/api-key-for-laravel
Configuração
-
Publicar e Executar Migrations
O pacote inclui migrations necessárias para criar as tabelas de
api_keys,plans,coupons,request_logs, entre outras.Publique as migrations:
php artisan vendor:publish --provider="RiseTechApps\ApiKey\ApiKeyServiceProvider" --tag="migrations"
Execute as migrations:
php artisan migrate
-
Adicionar o Trait
HasApiKeyPara que seu modelo de usuário possa gerar e gerenciar chaves de API, adicione o trait
RiseTechApps\ApiKey\Traits\HasApiKeyao seu modeloApp\Models\User(ou o modelo que você usa para autenticação):// app/Models/User.php use RiseTechApps\ApiKey\Traits\HasApiKey; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { use HasApiKey; // ... }
-
Publicar Arquivos de Configuração (Opcional)
Se você precisar personalizar as configurações do pacote, como nomes de tabelas ou modelos, publique o arquivo de configuração:
php artisan vendor:publish --provider="RiseTechApps\ApiKey\ApiKeyServiceProvider" --tag="config"
Uso
O pacote fornece rotas e controladores para gerenciar a autenticação e o painel de controle.
Autenticação de API
O pacote utiliza o Laravel Sanctum para autenticação. Após a instalação e configuração, os usuários podem gerar tokens de API (chaves) para acessar endpoints protegidos.
Modelos Principais
Os seguintes modelos são fornecidos para interação direta:
| Modelo | Descrição |
|---|---|
ApiKey |
Representa a chave de API gerada para um usuário. |
Plan |
Define os planos de assinatura disponíveis. |
Coupon |
Gerencia cupons de desconto para planos. |
RequestLog |
Armazena o histórico de requisições de API. |
UserPlan |
Liga um usuário a um plano de assinatura. |
Você pode acessar a funcionalidade principal através do Facade ApiKey:
use ApiKey; // Exemplo de uso (depende da funcionalidade exposta pelo Facade) // $apiKey = ApiKey::generateNewKey($user);
Dependências Chave
Este pacote depende de algumas bibliotecas importantes, incluindo:
php: ^8.3illuminate/support: ^12laravel/sanctum: ^4.0: Essencial para a funcionalidade de autenticação de API.risetechapps/*: Uma série de pacotes internos que fornecem funcionalidades adicionais como gerenciamento de endereço, requisições de formulário, manipulação de mídia e repositórios.
Contribuição
Por favor, veja CONTRIBUTING para detalhes.
Segurança
Se você descobrir quaisquer problemas relacionados à segurança, por favor, envie um e-mail para apps@risetech.com.br em vez de usar o rastreador de issues.
Créditos
Licença
O MIT License (MIT). Por favor, veja o Arquivo de Licença para mais informações.