forked from core/php-mcp
feat: register middleware aliases via lifecycle events
Register mcp.auth, mcp.workspace, mcp.authenticate, mcp.quota, and mcp.dependencies aliases via $event->middleware() in both McpRoutesRegistering and ConsoleBooting handlers. Routes now use the 'mcp.auth' alias instead of the full class name. Follows the same pattern as php-api (auth.api, api.scope, etc.) and leverages the framework's processMiddleware() support in all fire* methods. Co-Authored-By: Virgil <virgil@lethean.io>
This commit is contained in:
parent
8138840cad
commit
be85428d4c
1 changed files with 15 additions and 1 deletions
|
|
@ -92,10 +92,17 @@ class Boot extends ServiceProvider
|
|||
|
||||
public function onMcpRoutes(McpRoutesRegistering $event): void
|
||||
{
|
||||
// Register middleware aliases
|
||||
$event->middleware('mcp.auth', Middleware\McpApiKeyAuth::class);
|
||||
$event->middleware('mcp.workspace', Middleware\ValidateWorkspaceContext::class);
|
||||
$event->middleware('mcp.authenticate', Middleware\McpAuthenticate::class);
|
||||
$event->middleware('mcp.quota', Middleware\CheckMcpQuota::class);
|
||||
$event->middleware('mcp.dependencies', Middleware\ValidateToolDependencies::class);
|
||||
|
||||
$domain = config('mcp.domain');
|
||||
|
||||
$event->routes(fn () => Route::domain($domain)
|
||||
->middleware(Middleware\McpApiKeyAuth::class)
|
||||
->middleware('mcp.auth')
|
||||
->name('mcp.')
|
||||
->group(function () {
|
||||
Route::post('tools/call', [Controllers\McpApiController::class, 'callTool'])->name('tools.call');
|
||||
|
|
@ -112,6 +119,13 @@ class Boot extends ServiceProvider
|
|||
|
||||
public function onConsole(ConsoleBooting $event): void
|
||||
{
|
||||
// Middleware aliases for CLI context (artisan route:list etc.)
|
||||
$event->middleware('mcp.auth', Middleware\McpApiKeyAuth::class);
|
||||
$event->middleware('mcp.workspace', Middleware\ValidateWorkspaceContext::class);
|
||||
$event->middleware('mcp.authenticate', Middleware\McpAuthenticate::class);
|
||||
$event->middleware('mcp.quota', Middleware\CheckMcpQuota::class);
|
||||
$event->middleware('mcp.dependencies', Middleware\ValidateToolDependencies::class);
|
||||
|
||||
$event->command(Console\Commands\McpAgentServerCommand::class);
|
||||
$event->command(Console\Commands\PruneMetricsCommand::class);
|
||||
$event->command(Console\Commands\VerifyAuditLogCommand::class);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue