I am using autologin component from http://milesj.me/code/cakephp/auto-login (v 3.5.1).
It works on my localhost WAMP server but fails on remote server.
I am using this settings in beforeFilter() callback:
$this->AutoLogin->settings = array(
// Model settings
'model' => 'User',
'username' => 'username',
'password' => 'password',
// Controller settings
'plugin' => '',
'controller' => 'users',
// Cookie settings
'cookieName' => 'rememberMe',
'expires' => '+1 month',
// Process logic
'active' => true,
'redirect' => true,
'requirePrompt' => true
);
On remote server it simply doesn't autolog users after the browser was closed. I can't figure out what may cause the problem.
-------------------- edit
I figured out what is causing the problem but I don't know how to fix this.
First of all cookie is set like this:
$this->Cookie->write('key',array('username' => 'someusername', 'hash' => 'somehash', ...) );
Then it's readed like this:
$cookie = $this->Cookie->read('key');
On my WAMP server $cookie is array('username' => 'someusername', 'hash' => 'somehash', ...) and on remote server returned $cookie is
string(159) "{\"username\":\"YWxlay5iYXJzsdsdZXdza2ldssd21haWwuY29t\",\"password\":\"YWxlazc3ODEy\",\"hash\":\"aa15bffff9ca12cdcgfgb351d8bfg2f370bf458\",\"time\":1339923926}"
and it should be:
array( 'username' => "YWxlay5iYXJzsdsdZXdza2ldssd21haWwuY29t", 'password' => "YWxlazc3ODEy", ...)
Why the retuned cookie is string not array?