Overview
The Laravel OpenAPI Generator does not include custom middleware classes. Instead, it provides configuration options to apply your existing Laravel middleware to the HTTP documentation routes.HTTP routes are only available when
openapi.routes.enabled is set to true in the configuration.Configuration
Route Middleware
Configure middleware for the documentation routes inconfig/openapi.php:
config/openapi.php
Common Middleware Patterns
Public Access (Default)
No authentication required - suitable for public APIs:Authenticated Access (Sanctum)
Require authentication via Laravel Sanctum:Session Authentication
Require authenticated session (for web-based access):Admin-Only Access
Restrict access to admin users:app/Http/Kernel.php:
IP Whitelist
Restrict access to specific IP addresses:Environment-Based Access
Allow access only in development environments:API Key Authentication
Require an API key in request headers:Available Routes
All these routes respect the configured middleware:
Route Configuration Location:
Routes are registered in the service provider when
routes.enabled is true.
Security Middleware Mapping
OpenAPI Security Schemes
The package also allows you to map middleware to OpenAPI security schemes for route documentation:auth:sanctum middleware:
src/Services/OpenApiServices.php:1310-1327
Rate Limiting
Apply rate limiting to documentation routes:CORS Configuration
If you need to allow cross-origin requests to documentation routes:Middleware Groups
Create a custom middleware group for documentation:Disabling HTTP Routes
If you prefer to generate specifications only via Artisan commands and not expose HTTP endpoints:Testing Middleware
Feature Test Example
Best Practices
Related Documentation
HTTP Routes
Configure HTTP documentation endpoints
Artisan Commands
Generate docs via CLI
Security
Security best practices
Configuration
Full configuration reference