我创建了一个模块来从 REST 中的外部站点登录员工,如下所示:
A JSON Post with Authentication token and login/pass => module validate and answer an url with a JWT token like: https://example.com/module/ps_extern_auth/login_jwt?token=FyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJ3d3cuY2FtYS16b25lLmZyIiwiZXhwIjoxNjQzOTA4NjIyLCJlbWFpbCI6ImcubGF0b3JyZUBldmVybGF0cy5jb20iLCJzdWIiOiI0NiJ9.lojt_J1LzeOWYYFCHn5xIuEka-FaEw5OOGk25VXAfNk
验证此 JWT 令牌后,我编写此代码以登录员工:
$this->context->employee->remote_addr = ip2long(Tools::getRemoteAddr());
// Update cookie
$cookie = Context::getContext()->cookie;
$cookie->id_employee = $this->context->employee->id;
$cookie->email = $this->context->employee->email;
$cookie->profile = $this->context->employee->id_profile;
$cookie->passwd = $this->context->employee->passwd;
$cookie->remote_addr = $this->context->employee->remote_addr;
$cookie->write();
这是从 AdminLoginController.php 获取的代码 如果我 var_dump $cookie,我有正确的信息。但是,当员工转到 /admin123456/index.php?controller=AdminProducts 他被重定向到登录页面(他没有登录)。
我忘记了什么吗?谢谢你的帮助。
PrestaShop 1.6 / PHP 7