- What does the mei-labs/filament-renew-password package do?
- It is a Filament plugin that adds password renewal and expiry management to your admin panels. It lets you prompt users to update their passwords on a schedule, enforce rotation policies, and keep account credentials fresh with minimal setup in a Filament resource or panel. It is aimed at teams that need periodic password rotation without building the tracking and UI themselves.
- How do I install filament-renew-password in a Laravel app?
- Install it with Composer by running composer require mei-labs/filament-renew-password. Then register the plugin on the Filament panel you want to protect, usually inside the panel() method of your panel provider. Exact registration code, plus any publishable config or migration steps, is documented in the repository README, so follow that for your Filament version.
- Which Laravel and Filament versions does this plugin support?
- The package targets Laravel applications that run Filament admin panels, with Filament v3 being the typical target for plugins of this kind. Because version constraints can change between releases, check the require block in the package composer.json or the compatibility notes in the README before installing. Running composer why-not is a quick way to confirm conflicts in your project.
- How do I enable password expiry for my Filament users?
- Enable expiry through the plugin configuration and register the plugin in the panel where authentication happens. Once active, the plugin tracks when each password was last changed and flags accounts that have passed the configured age. Users are then prompted to renew, depending on the enforcement mode you choose.
- Can I customize the password renewal period?
- Yes, rotation policies are configurable, so you can set how many days may pass before a password is considered expired. The setting lives in the package config file or in the plugin registration options, depending on the release. You can usually also exempt specific accounts or roles when your policy requires it.
- How does the plugin prompt users to renew an expired password?
- It typically surfaces the renewal requirement inside the Filament panel, prompting the user to update the password before continuing to work. The precise behaviour, whether a modal, a redirect, or a dedicated page, depends on the plugin configuration and current version. Check the README for the enforcement options available in your release.
- Does it work with multiple Filament panels?
- The plugin is registered per panel, so you can add it only to the panels that need rotation policies. That means an admin panel can enforce expiry while a customer-facing panel stays unaffected. If you run several panels, register the plugin in each provider where the policy should apply.
- How do I test password expiry without waiting weeks?
- Set a very short expiry window in your test configuration, or manipulate the stored last-changed timestamp so an account is already past its limit. Laravel time-travel helpers such as travel() make it easy to simulate the passage of days inside feature tests. Then assert that the user is redirected or blocked until the password is renewed.
- Does it work with Fortify, Breeze, or a custom login?
- The plugin hooks into Filament panel authentication rather than replacing your login stack, so it generally sits on top of whatever Laravel authentication you already use. If users authenticate outside Filament entirely, expiry checks will not fire on those routes. Verify this against the README before relying on it for non-panel logins.
- Is this package safe for production, and is it actively maintained?
- It is published by mei-labs on Packagist and designed for real admin panels, but you should review recent commits, open issues, and release history before adopting it. Pin a version in composer.json and add your own tests around the expiry flow. If maintenance stalls, the underlying logic is small enough to fork or replicate in a custom Filament page.