我在想什么是如何做到这一点的最佳解决方案。我们有一个网站(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。有什么建议或想法吗?
答案 0 :(得分:1)
您不需要在子域和根域之间使用单点登录。只需将the domain parameter in setcookie()
设置为xyz.com
,即可完成。
但如果他们使用单独的域名(例如xyz.com
和abc.com
),那么您必须在getting inventive或实施标准(例如OAuth2)之间进行选择。
对于OAuth2,您可能无法使用现有的OAuth2库,例如非凡PHP套件联盟的this one。