Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

RememberMe authentication adapter plugin for CakePHP

License

NotificationsYou must be signed in to change notification settings

nojimage/cakephp-remember-me

Repository files navigation

Software LicenseBuild StatusCodecovLatest Stable Version

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", and Gabriel Birke's library "https://github.com/gbirke/rememberme".

Installation

You can install this plugin into your CakePHP application usingcomposer.

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'ssrc/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

If you're usingcakephp/authentication,useRememberMeTokenIdentifier andCookieAuthenticator.

Example of loading RememberMe's Identifier and Authenticator into thegetAuthenticationService hook withinApplication:

// in your src/Application.phpclass Applicationextends ...{publicfunctiongetAuthenticationService(...):void    {$service =newAuthenticationService();$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 forgetAuthenticationService, see:Quick Start - CakePHP Authentication 3.x

RememberMe.RememberMeTokenIdentifier options

fields

The fields for the lookup.

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

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

resolver

The identity resolver. If you change your Resolver,it must extendAuthentication\Identifier\Resolver\OrmResolver.

default:'Authentication.Orm'

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

tokenStorageModel

A model used for finding login cookie tokens.

default:'RememberMe.RememberMeTokens'

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

userTokenFieldName

A property name when adding token data to identity.

default:'remember_me_token'

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

RememberMe.CookeAuthenticator options

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

The URL checker class or object.

default:'DefaultUrlChecker'

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

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

Array that mapsusername to the specified POST data fields.

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

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

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

A model used for storing login cookie tokens.

default:'RememberMe.RememberMeTokens'

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

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

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

default:true

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

About

RememberMe authentication adapter plugin for CakePHP

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors3

  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp