tomatophp/filament-developer-gate
Filament plugin that protects selected routes, pages, and resources behind a static developer password using a simple middleware or trait. Includes login screens, logout actions and confirmation, plus an optional admin panel plugin.
v5 line targets Filament v5, and the v4 branch continues the Filament v4 line. Integration feasibility therefore now depends on composer constraint discipline rather than a single floating version. Teams must pin deliberately./admin/debug, /filament/pages).v4 branch, giving Filament v4 projects a supported path instead of being forced onto an incompatible major. Residual risk shifts from "package abandonment" to "patch parity between branches."v5 may not be back-ported to v4. Security-relevant fixes (password comparison, redirect handling) should be verified on both branches..env, will see different post-unlock navigation. Validate redirect config values before/after upgrade..env) for the password and rotate regularly.composer.json constraints for Laravel 13 (whether GA or pre-release) before committing to it..env, secrets manager)?v4 branch vs. v5) we pin, and therefore our upgrade path.v4 branch; requires an explicit non-default composer constraint.app/Http/Kernel.php, but this remains an unsupported path.composer require tomatophp/filament-developer-gate:^5.0
composer require tomatophp/filament-developer-gate:"dev-v4" # or the tagged 4.x release
Pin explicitly and record the constraint in the repo; do not rely on a floating *..env:
DEVELOPER_GATE_PASSWORD=your_secure_password
app/Providers/FilamentServiceProvider.php (Filament) or app/Http/Kernel.php (generic Laravel):
protected static string $developerGateMiddleware = \TomatoPHP\DeveloperGate\Middleware\DeveloperGateMiddleware::class;
Route::middleware(['developer.gate'])->group(function () {
// Protected routes here
});
composer.json requirement — Laravel 13 support may be forward-looking.v5 line; v4 → v4 branch. Mismatching the line to the installed Filament major is the single most likely integration failure now./filament/pages/debug) on the Filament v5 line, including a deliberate check of the unlock → redirect flow.v4 branch. Consumers must consciously track the correct line; a routine composer update will not move a Filament v4 app onto v5, which is good, but it also means v4 apps receive fixes only when they land on that branch. Budget a quarterly check for back-ports..env, restart queues/workers if config caching is involved).app/Http/Kernel.php.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Password leakage | Unauthorized access | Use .env / secrets manager, rotate passwords, restrict IP ranges. |
| Middleware misconfiguration | Routes become inaccessible | Test in staging; roll back if needed. |
| Filament/Laravel version conflict | Package breaks | Pin the correct line: ^5.0 for Filament v5, v4 branch for Filament v4. |
| Wrong line installed (new) | Install succeeds but gate behaves inconsistently or breaks | Encode the Filament major in the composer constraint and in a CI check. |
| Redirect misconfiguration (new) | Post-unlock navigation lands on an unexpected page or loops | Validate the corrected redirect config key; test both "has previous page" and "no previous page" paths. |
| Patch divergence between lines (new) | v4 branch misses a v5 fix (or vice versa) | Track upstream releases; verify critical fixes land on your line. |
| No logging/auditing | Compliance violations | Extend middleware to log attempts; reuse the packaged test patterns. |
v4).How can I help you explore Laravel packages today?