单一登录使用cookie php

时间:2016-03-16 04:20:20

标签: php security cookies login single-sign-on

我在想什么是如何做到这一点的最佳解决方案。我们有一个网站(www.xyz.com)和一个论坛网站[MyyBB论坛](www.community.xyz.com)。是否可以使用cookie进行SSO登录。当我登录主站点时,我不需要登录社区(反之亦然)。 我这里有示例代码,用户可以在登录后收到电子邮件。(不安全)

$u_email = $_SESSION['user_email'];
setcookie('user_email',$u_email,time() + (86400));
$the_email = ($_COOKIE['user_email']); 

我必须收到用户的电子邮件,因为它与两个数据库都相同。然后,当电子邮件与同一数据库匹配时,强制用户在访问其他网站时自动登录。当用户注销时,它将使cookie过期。

我是新手,使用cookie。有什么建议或想法吗?

1 个答案:

答案 0 :(得分:1)

您不需要在子域和根域之间使用单点登录。只需将the domain parameter in setcookie()设置为xyz.com,即可完成。

但如果他们使用单独的域名(例如xyz.comabc.com),那么您必须在getting inventive或实施标准(例如OAuth2)之间进行选择。

对于OAuth2,您可能无法使用现有的OAuth2库,例如非凡PHP套件联盟的this one