PHPackages                             mei-labs/filament-renew-password - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. mei-labs/filament-renew-password

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

mei-labs/filament-renew-password
================================

Package for manage recurring renew password

v2.1.0(2y ago)0130MITPHPPHP ^8.1

Since Feb 13Pushed 2y agoCompare

[ Source](https://github.com/Mei-LABS/filament-renew-password)[ Packagist](https://packagist.org/packages/mei-labs/filament-renew-password)[ RSS](/packages/mei-labs-filament-renew-password/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (4)Dependencies (5)Versions (5)Used By (0)

Filament Renew Password Plugin
==============================

[](#filament-renew-password-plugin)

The Filament Renew Password Plugin enhances Filament by prompting users to renew their passwords based on specified criteria.

[![Screenshot](https://raw.githubusercontent.com/Mei-LABS/fi-renew-password/main/docs/screenshots/screenshot_1.png)](https://raw.githubusercontent.com/Mei-LABS/fi-renew-password/main/docs/screenshots/screenshot_1.png)

Installation
------------

[](#installation)

1. Install the package using the composer command:

```
composer require mei-labs/fi-renew-password
```

2. Publish the associated vendor files and run the migration, which adds a new column `last_renew_password_at` to the users table.

```
php artisan vendor:publish
php artisan migrate
```

Alternatively, if you don't want to publish the migrations or already have a column in your database for such case, you can skip this step and customize the column name by using any of the configuration methods described in the [Configuration](#configuration) section below.

3. Register the plugin in your panel provider:

```
use MeiLABS\Filament\RenewPassword\RenewPasswordPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
       ->plugin(new RenewPasswordPlugin());
}
```

Configuration
-------------

[](#configuration)

Filament Renew Password Plugin is designed to work out of the box with minimal configuration. However, you can customize the plugin by publishing the configuration file, changing the environment variables or using the plugin object to override the default settings.

### Via Plugin Configuration

[](#via-plugin-configuration)

```
// app/Providers/Filament/YourPanelServiceProvider.php

RenewPasswordPlugin::make()
    ->timestampColumn('password_changed_at')
    ->passwordExpiresIn(days: 30)
```

### Via Environment Variables

[](#via-environment-variables)

```
// .env

FILAMENT_RENEW_PASSWORD_DAYS_PERIOD=30
FILAMENT_RENEW_PASSWORD_TIMESTAMP_COLUMN=last_renew_password_at
```

### Via Configuration File

[](#via-configuration-file)

```
// config/filament-renew-password.php

return [
    'timestamp_column' => 'password_changed_at',
    'password_expires_in' => 30,
];
```

Any of the above methods will work. The plugin will use the configuration in the following order of priority: Plugin Configuration, Environment Variables, Configuration File.

Usage
-----

[](#usage)

1. Implement the `RenewPasswordContract` on your Authentication Model (User) and define the criteria for prompting password renewal in the `needRenewPassword` function.

> Example for a 90-day renewal period:

```
class User extends Authenticatable implements RenewPasswordContract
{
    ...

    public function needRenewPassword(): bool
    {
        return Carbon::parse($this->last_renew_password_at ?? $this->created_at)->addDays(90) < now();
    }
}
```

Alternatively, you can use the `RenewPassword` trait on your Authentication Model (User). By default, the trait uses the configured column and a 90-day renewal period. You can customize the column name and renewal period by [configuring the plugin](#configuration).

```
class User extends Authenticatable implements RenewPasswordContract
{
    use RenewPassword;
}
```

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~13 days

Total

4

Last Release

833d ago

Major Versions

v1.0.0 → v2.0.02024-02-13

### Community

Maintainers

![](https://www.gravatar.com/avatar/576e8ac1f515209230a6c09af29eaeab82cbeb67d9c6e471ff5f61384d7b92fb?d=identicon)[codewithmei](/maintainers/codewithmei)

---

Top Contributors

[![codewithmei](https://avatars.githubusercontent.com/u/128881536?v=4)](https://github.com/codewithmei "codewithmei (5 commits)")

---

Tags

laravelpasswordfilamentrenew

### Embed Badge

![Health badge](/badges/mei-labs-filament-renew-password/health.svg)

```
[![Health](https://phpackages.com/badges/mei-labs-filament-renew-password/health.svg)](https://phpackages.com/packages/mei-labs-filament-renew-password)
```

###  Alternatives

[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.6k](/packages/rawilk-profile-filament-plugin)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

77022.3M151](/packages/laravel-mcp)[propaganistas/laravel-disposable-email

Disposable email validator

6023.0M7](/packages/propaganistas-laravel-disposable-email)[defstudio/telegraph

A laravel facade to interact with Telegram Bots

816333.8k3](/packages/defstudio-telegraph)[stephenjude/filament-jetstream

A Laravel starter kit built with Filament inspired by Jetstream.

17760.2k3](/packages/stephenjude-filament-jetstream)[harris21/laravel-fuse

Circuit breaker for Laravel queue jobs. Protect your workers from cascading failures.

44855.7k](/packages/harris21-laravel-fuse)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
