autologin component doesn't work on remote server
Posted
by
user606521
on Stack Overflow
See other posts from Stack Overflow
or by user606521
Published on 2012-06-16T07:49:53Z
Indexed on
2012/06/17
9:16 UTC
Read the original article
Hit count: 269
cakephp
|cakephp-2.0
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?
© Stack Overflow or respective owner