使用PHP进行Angular 5基于cookie的身份验证

时间:2018-02-08 12:46:01

标签: php authentication cookies angular5

我正在尝试在角度5和PHP 7之间设置基于cookie的身份验证。 登录路由确实返回正确的身份验证cookie,但它不存储在浏览器中。然后后续请求不包含此cookie,导致403错误。

我的PHP会话初始化为:

ini_set('session.cookie_domain', 'my.domain.com');
session_name('domain_prod');
session_set_cookie_params(0, '/', 'my.domain.com', true, true);
session_start();
session_regenerate_id();

在前端,我正在为每个请求添加以下标头:

{
    headers: new HttpHeaders({'Content-Type': 'application/x-www-form-urlencoded'}),
    withCredentials: true
}

即使在PROD模式下,本地也可以正常工作。相同的后端配置也适用于angularJS。

请注意,我在本地启用了CORS,因为我正在使用其他端口:

header('Access-Control-Allow-Origin: localhost:4200');
header('Access-Control-Allow-Credentials: true');

我也尝试在我的服务器上启用它,但无济于事。

header('Access-Control-Allow-Origin: my.domain.com');
header('Access-Control-Allow-Credentials: true');

我不知道为什么没有存储cookie,可能是配置问题,但我不知道在哪里看。

感谢您的帮助。

0 个答案:

没有答案