PHPackages                             mfreiholz/persistent\_login - 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. mfreiholz/persistent\_login

ActiveRoundcube-plugin[Authentication &amp; Authorization](/categories/authentication)

mfreiholz/persistent\_login
===========================

This server-side plugin is useful for all Roundcube users who don’t like to log into their e-mail account each time they open their browser. The plugin stores a persistent login cookie which automatically logs the user in the next time he or she visits the Roundcube web mailer.

86151[5 PRs](https://github.com/mfreiholz/persistent_login/pulls)PHP

Since Jan 30Pushed 2y ago13 watchersCompare

[ Source](https://github.com/mfreiholz/persistent_login)[ Packagist](https://packagist.org/packages/mfreiholz/persistent_login)[ RSS](/packages/mfreiholz-persistent-login/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)DependenciesVersions (1)Used By (0)

Persistent Login (Roundcube)
============================

[](#persistent-login-roundcube)

Provides a "Keep me logged in" aka "Remember Me" functionality for [Roundcube](http://roundcube.net/).

[![Login with Larry Skin](docs/login_elastic.png)](docs/login_elastic.png)

Download
--------

[](#download)

You can download the plugin from the latest [release tags](https://github.com/mfreiholz/persistent_login/releases) on GitHub.

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

[](#installation)

- Extract the downloaded archive into Roundcube’s plugin directory `/plugins/` and rename it to `persistent_login`.
- Open the Roundcube's main configuration file `/config/main.inc.php`and add the plugin’s name to the active plugins array, e.g.:

```
$config['plugins'] = array('persistent_login');
```

Thats it. All configuration is optional.

Configuration (Optional)
------------------------

[](#configuration-optional)

Persistent Login provides two different ways of usage. User-Data cookie or AuthToken cookie based.

### UserData cookie (No database extension required)

[](#userdata-cookie-no-database-extension-required)

This method doesn’t require any configuration, it is enabled by default. It stores the user’s login information encrypted in a cookie.

### AuthToken cookie (more secure, recommended)

[](#authtoken-cookie-more-secure-recommended)

This method have to be enabled in the plugins configuration file. It requires the creation of a table in your **roundcubemail’s database** as well. The table can be created by the SQL script in the `sql/` directory of the plugin. Execute ALL statements from the SQL file.

Enable it in config: `persistent_login/config.inc.php`

```
$rcmail_config['ifpl_use_auth_tokens'] = true;
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community29

Small or concentrated contributor base

Maturity26

Early-stage or recently created project

 Bus Factor1

Top contributor holds 63.9% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/169c6a101b065a6c42b86eb3668af258c0ed675d6156fca1e0edfd2f58b3aa2d?d=identicon)[emouawad](/maintainers/emouawad)

---

Top Contributors

[![mfreiholz](https://avatars.githubusercontent.com/u/809385?v=4)](https://github.com/mfreiholz "mfreiholz (53 commits)")[![shr3k](https://avatars.githubusercontent.com/u/1295107?v=4)](https://github.com/shr3k "shr3k (3 commits)")[![downtownallday](https://avatars.githubusercontent.com/u/3814459?v=4)](https://github.com/downtownallday "downtownallday (2 commits)")[![nagyrobi](https://avatars.githubusercontent.com/u/1550668?v=4)](https://github.com/nagyrobi "nagyrobi (2 commits)")[![dicea-unipd](https://avatars.githubusercontent.com/u/62897774?v=4)](https://github.com/dicea-unipd "dicea-unipd (2 commits)")[![iblislin](https://avatars.githubusercontent.com/u/761623?v=4)](https://github.com/iblislin "iblislin (1 commits)")[![jackbravo](https://avatars.githubusercontent.com/u/15214?v=4)](https://github.com/jackbravo "jackbravo (1 commits)")[![navossoc](https://avatars.githubusercontent.com/u/2457338?v=4)](https://github.com/navossoc "navossoc (1 commits)")[![niziak](https://avatars.githubusercontent.com/u/526396?v=4)](https://github.com/niziak "niziak (1 commits)")[![olkitu](https://avatars.githubusercontent.com/u/10426342?v=4)](https://github.com/olkitu "olkitu (1 commits)")[![osvaldsson](https://avatars.githubusercontent.com/u/343718?v=4)](https://github.com/osvaldsson "osvaldsson (1 commits)")[![PVasileff](https://avatars.githubusercontent.com/u/2411033?v=4)](https://github.com/PVasileff "PVasileff (1 commits)")[![ribaaa](https://avatars.githubusercontent.com/u/15415510?v=4)](https://github.com/ribaaa "ribaaa (1 commits)")[![ricardo777](https://avatars.githubusercontent.com/u/1004317?v=4)](https://github.com/ricardo777 "ricardo777 (1 commits)")[![ritsute](https://avatars.githubusercontent.com/u/2391759?v=4)](https://github.com/ritsute "ritsute (1 commits)")[![smirkybg](https://avatars.githubusercontent.com/u/10932217?v=4)](https://github.com/smirkybg "smirkybg (1 commits)")[![tatsuyaueda](https://avatars.githubusercontent.com/u/1052520?v=4)](https://github.com/tatsuyaueda "tatsuyaueda (1 commits)")[![tofi86](https://avatars.githubusercontent.com/u/365118?v=4)](https://github.com/tofi86 "tofi86 (1 commits)")[![twekkel](https://avatars.githubusercontent.com/u/57325478?v=4)](https://github.com/twekkel "twekkel (1 commits)")[![wedi](https://avatars.githubusercontent.com/u/1466269?v=4)](https://github.com/wedi "wedi (1 commits)")

### Embed Badge

![Health badge](/badges/mfreiholz-persistent-login/health.svg)

```
[![Health](https://phpackages.com/badges/mfreiholz-persistent-login/health.svg)](https://phpackages.com/packages/mfreiholz-persistent-login)
```

###  Alternatives

[namshi/jose

JSON Object Signing and Encryption library for PHP.

1.8k99.6M101](/packages/namshi-jose)[league/oauth1-client

OAuth 1.0 Client Library

99698.8M106](/packages/league-oauth1-client)[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[gesdinet/jwt-refresh-token-bundle

Implements a refresh token system over Json Web Tokens in Symfony

70516.4M35](/packages/gesdinet-jwt-refresh-token-bundle)[league/oauth2-google

Google OAuth 2.0 Client Provider for The PHP League OAuth2-Client

41721.2M118](/packages/league-oauth2-google)[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)

PHPackages © 2026

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