PHPackages                             nojimage/cakephp-remember-me - 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. nojimage/cakephp-remember-me

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

nojimage/cakephp-remember-me
============================

RememberMe authentication adapter plugin for CakePHP

v5.2.1(2mo ago)814.3k↓47.5%2[4 issues](https://github.com/nojimage/cakephp-remember-me/issues)MITPHPPHP &gt;=8.1CI passing

Since Jun 12Pushed 2mo ago6 watchersCompare

[ Source](https://github.com/nojimage/cakephp-remember-me)[ Packagist](https://packagist.org/packages/nojimage/cakephp-remember-me)[ RSS](/packages/nojimage-cakephp-remember-me/feed)WikiDiscussions cake5 Synced 1mo ago

READMEChangelog (10)Dependencies (16)Versions (27)Used By (0)

RememberMe authentication adapter plugin for CakePHP
====================================================

[](#rememberme-authentication-adapter-plugin-for-cakephp)

 [ ![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265) ](LICENSE.txt) [ ![Build Status](https://camo.githubusercontent.com/bd40ad16c6702f773c64015b9278ad5c3f794038f9ae0b41c462d0d3c933c10f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6e6f6a696d6167652f63616b657068702d72656d656d6265722d6d652f63692e796d6c3f7374796c653d666c61742d737175617265) ](https://github.com/nojimage/cakephp-remember-me/actions) [ ![Codecov](https://camo.githubusercontent.com/6feda90c4257c35438673225c7df95776af26955adc10cbcff95b08fc42b7da9/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6e6f6a696d6167652f63616b657068702d72656d656d6265722d6d652e7376673f7374796c653d666c61742d737175617265) ](https://codecov.io/gh/nojimage/cakephp-remember-me) [ ![Latest Stable Version](https://camo.githubusercontent.com/735ade255c56fdb8fddecbb7a77ea20398b8b10f11ce6c1bbb4ec3dec45be555/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e6f6a696d6167652f63616b657068702d72656d656d6265722d6d652e7376673f7374796c653d666c61742d737175617265) ](https://packagist.org/packages/nojimage/cakephp-remember-me)

This plugin provides an authentication handler that enables permanent login via cookie. This plugin uses a method of issuing a token instead of setting an encrypted username / password in a cookie.

This library is inspired by Barry Jaspan's article "[Improved Persistent Login Cookie Best Practice](http://jaspan.com/improved_persistent_login_cookie_best_practice)", and Gabriel Birke's library "".

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

[](#installation)

You can install this plugin into your CakePHP application using [composer](http://getcomposer.org).

The recommended way to install composer packages is:

```
php composer.phar require nojimage/cakephp-remember-me:^5.0
```

Load the plugin by adding the following statement in your project's `src/Application.php`:

```
$this->addPlugin('RememberMe');
```

or running the console command

```
bin/cake plugin load RememberMe
```

Run migration:

```
bin/cake migrations migrate -p RememberMe
```

Usage with Authentication plugin
--------------------------------

[](#usage-with-authentication-plugin)

If you're using [cakephp/authentication](https://github.com/cakephp/authentication), use `RememberMeTokenIdentifier` and `CookieAuthenticator`.

Example of loading RememberMe's Identifier and Authenticator into the `getAuthenticationService` hook within `Application`:

```
// in your src/Application.php
class Application extends ...
{
    public function getAuthenticationService(...): void
    {
        $service = new AuthenticationService();
        $fields = [
            'username' => 'email',
            'password' => 'password'
        ];
        // ... setup other identifier and authenticator

        // setup RememberMe
        $service->loadIdentifier('RememberMe.RememberMeToken', compact('fields'));
        $service->loadAuthenticator('RememberMe.Cookie', [
            'fields' => $fields,
            'loginUrl' => '/users/login',
        ]);
    }
}
```

more document for `getAuthenticationService`, see: [Quick Start - CakePHP Authentication 3.x](https://book.cakephp.org/authentication/3/en/index.html)

### RememberMe.RememberMeTokenIdentifier options

[](#remembermeremembermetokenidentifier-options)

#### `fields`

[](#fields)

The fields for the lookup.

default: `['username' => 'username']`

```
    $service->loadIdentifier('RememberMe.RememberMeToken', [
        'fields' => [
            'username' => 'email',
        ],
    ]);

```

#### `resolver`

[](#resolver)

The identity resolver. If you change your Resolver, it must extend `Authentication\Identifier\Resolver\OrmResolver`.

default: `'Authentication.Orm'`

```
    $service->loadIdentifier('RememberMe.RememberMeToken', [
        'resolver' => [
            'className' => 'Authentication.Orm',
            'userModel' => 'Administrators',
        ],
    ]);

```

#### `tokenStorageModel`

[](#tokenstoragemodel)

A model used for finding login cookie tokens.

default: `'RememberMe.RememberMeTokens'`

```
    $service->loadIdentifier('RememberMe.RememberMeToken', [
        'tokenStorageModel' => 'YourTokensModel',
    ]);

```

#### `userTokenFieldName`

[](#usertokenfieldname)

A property name when adding token data to identity.

default: `'remember_me_token'`

```
    $service->loadIdentifier('RememberMe.RememberMeToken', [
        'userTokenFieldName' => 'cookie_token',
    ]);

```

### RememberMe.CookeAuthenticator options

[](#remembermecookeauthenticator-options)

#### `loginUrl`

[](#loginurl)

The login URL, string or array of URLs. Default is null and all pages will be checked.

default: `null`

```
    $service->loadAuthenticator('RememberMe.Cookie', [
        'loginUrl' => '/users/login',
    ]);

```

#### `urlChecker`

[](#urlchecker)

The URL checker class or object.

default: `'DefaultUrlChecker'`

```
    $service->loadAuthenticator('RememberMe.Cookie', [
        'loginUrl' => '/users/login',
    ]);

```

#### `rememberMeField`

[](#remembermefield)

When this key is input by form authentication, it issues a login cookie.

default: `'remember_me'`

```
    $service->loadAuthenticator('RememberMe.Cookie', [
        'rememberMeField' => 'remember_me',
    ]);

```

#### `fields`

[](#fields-1)

Array that maps `username` to the specified POST data fields.

default: `['username' => 'username']`

```
    $service->loadAuthenticator('RememberMe.Cookie', [
        'fields' => [
            'username' => 'email',
        ],
    ]);

```

#### `cookie`

[](#cookie)

Write option for login cookie.

- name: Cookie name (default: `'rememberMe'`)
- expire: Cookie expiration (default: `'+30 days'`)
- path: Path (default: `'/'`)
- domain: Domain, (default: `''`)
- secure: Secure flag (default: `true`)
- httpOnly: Http only flag (default: `true`)

```
    $service->loadAuthenticator('RememberMe.Cookie', [
        'cookie' => [
            'name' => 'rememberMe',
            'expires' => '+30 days',
            'secure' => true,
            'httpOnly' => true,
        ],
    ]);

```

#### `tokenStorageModel`

[](#tokenstoragemodel-1)

A model used for storing login cookie tokens.

default: `'RememberMe.RememberMeTokens'`

```
    $service->loadAuthenticator('RememberMe.Cookie', [
        'tokenStorageModel' => 'YourTokensModel',
    ]);

```

#### `always`

[](#always)

When this option is set to true, a login cookie is always issued after successful authentication.

default: `false`

```
    $service->loadAuthenticator('RememberMe.Cookie', [
        'always' => true,
    ]);

```

#### `dropExpiredToken`

[](#dropexpiredtoken)

When this option is set to true, expired tokens are dropped after successful authentication.

default: `true`

```
    $service->loadAuthenticator('RememberMe.Cookie', [
        'dropExpiredToken' => false,
    ]);

```

###  Health Score

55

—

FairBetter than 98% of packages

Maintenance75

Regular maintenance activity

Popularity32

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity82

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 98% 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 ~144 days

Recently: every ~188 days

Total

23

Last Release

78d ago

Major Versions

v1.1.3 → v2.0.02017-09-08

v2.4.1 → v3.0.0-beta2020-07-07

2.x-dev → v3.0.0-rc12020-07-08

v3.0.0 → v4.0.0-beta12022-09-02

v4.1.0 → v5.0.02024-02-09

PHP version history (4 changes)v1.0.1PHP &gt;=5.4.16

v1.1.1PHP &gt;=5.6

v4.0.0-beta1PHP &gt;=7.2

v5.0.0PHP &gt;=8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/a3fe494e51e33958f5c8079669fd036dfee4c2e6b11f85f2249ba36c371986e3?d=identicon)[nojimage](/maintainers/nojimage)

---

Top Contributors

[![nojimage](https://avatars.githubusercontent.com/u/100564?v=4)](https://github.com/nojimage "nojimage (145 commits)")[![tksmrkm](https://avatars.githubusercontent.com/u/3795191?v=4)](https://github.com/tksmrkm "tksmrkm (2 commits)")[![mbglytch](https://avatars.githubusercontent.com/u/11628834?v=4)](https://github.com/mbglytch "mbglytch (1 commits)")

---

Tags

authenticationcakephpcakephp-plugincakephp3cakephp4cakephp5cookieremember-meauthAuthenticationcakephpcookieremember-me

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/nojimage-cakephp-remember-me/health.svg)

```
[![Health](https://phpackages.com/badges/nojimage-cakephp-remember-me/health.svg)](https://phpackages.com/packages/nojimage-cakephp-remember-me)
```

###  Alternatives

[cakedc/users

Users Plugin for CakePHP

524897.0k16](/packages/cakedc-users)[uzyn/cakephp-opauth

Opauth plugin for CakePHP v2.x, allowing simple plug-n-play 3rd-party authentication with CakePHP

129276.5k](/packages/uzyn-cakephp-opauth)[cakedc/auth

Auth objects for CakePHP

31630.0k2](/packages/cakedc-auth)[muffin/oauth2

CakePHP 3 authentication using the league/oauth2-client family

27103.4k](/packages/muffin-oauth2)[xety/cake3-cookieauth

A simple Cake3 plugin to authenticate users with Cookies.

1954.7k2](/packages/xety-cake3-cookieauth)[andrej-griniuk/cakephp-two-factor-auth

CakePHP auth component and provider fot two-factor authentication

38102.9k](/packages/andrej-griniuk-cakephp-two-factor-auth)

PHPackages © 2026

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