rdcstarr/laravel-easyapi
Composer 安装命令:
composer require rdcstarr/laravel-easyapi
包简介
A simple settings package for Laravel.
README 文档
README
Lightweight package for managing API keys in Laravel — with middleware protection, logging and simple CLI tools.
✨ Features
- 🔑 API key management — generate, list, reveal and delete API keys via an artisan command or programmatically.
- 🛡 Middleware protection — a lightweight middleware validates Bearer tokens on incoming requests.
- 📈 Usage metrics — each key tracks an access count and API access is logged to
api_logs. - 🔒 Secure keys — keys are generated using SHA-256 with unique identifiers to avoid collisions.
- ⚙️ Facade & manager — programmatic API via the
EasyApifacade or theEasyApiManagerservice. - 🧪 Test-friendly — models and factories included to make testing straightforward.
- 📦 Migrations included — package ships migrations for
apiandapi_logstables and can be published.
📦 Installation
composer require rdcstarr/laravel-easyapi
Automatic Installation (Recommended)
Run the install command to publish and run the migrations:
php artisan easyapi:install
Manual Installation
Alternatively, you can install manually:
- Publish the migrations:
php artisan vendor:publish --tag=easyapi-migrations
- Run the migrations:
php artisan migrate
The package registers a singleton manager and console commands. It will also register route groups if you provide routes/api.php or routes/web.php.
🔑 Usage
Facade examples (programmatic):
use Rdcstarr\EasyApi\Facades\EasyApi; // Generate a new API key (returns the Api model) $api = EasyApi::createKey(); $fullKey = $api->key; // show and store this securely // Validate a key (returns bool) $isValid = EasyApi::validateKey($fullKey); // Delete a key EasyApi::deleteKey($fullKey);
Middleware usage:
- The package provides
Rdcstarr\EasyApi\Middleware\EasyApiMiddlewarewhich checks for a Bearer token and validates it against theapitable. If valid, it logs the request and increments the access count.
Apply it to a route or route group:
Route::middleware([\Rdcstarr\EasyApi\Middleware\EasyApiMiddleware::class])->group(function () { Route::get('/protected', function () { return ['ok' => true]; }); });
Database schema:
apitable: id, key (unique), access_count, timestampsapi_logstable: id, api_id, endpoint, ip_address, user_agent, timestamps
Artisan CLI:
The package exposes a single console command: php artisan easyapi with the following actions:
- generate — create a new API key
- delete --key=KEY — delete an API key (confirmation required)
- list — display stored API keys (masked) with access counts
- reveal --id=ID — reveal the full API key for a given id
Examples:
php artisan easyapi generate
php artisan easyapi list
php artisan easyapi delete --key="qwerty_..."
php artisan easyapi reveal --id=1
Notes:
- Generated keys must be stored securely when created — the
generatecommand shows the full key once. - The command output masks keys in listings for safety; use
revealto show the full value when necessary.
🧪 Testing
Run the package tests:
composer test
The package provides models (Api, ApiLog) and factories to make writing tests simpler.
📖 Resources
- Changelog for more information on what has changed recently.
👥 Credits
📜 License
- License for more information.
rdcstarr/laravel-easyapi 适用场景与选型建议
rdcstarr/laravel-easyapi 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 15 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 09 月 18 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「laravel」 「Settings」 「groups」 「Rdcstarr」 「laravel-easyapi」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 rdcstarr/laravel-easyapi 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 rdcstarr/laravel-easyapi 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 rdcstarr/laravel-easyapi 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Persistent settings package for Laravel framework.
Groups Plugin for NetCommons
User handling for PHP applications.
Customers management for Symfony projects.
A Zend Framework module to quickly and easily set PHP settings.
Settings Card for Laravel Nova.
统计信息
- 总下载量: 15
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 17
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-09-18