不同子域之间(使用PHP)的SSO / Auth?

时间:2019-03-05 18:59:35

标签: javascript php jquery ajax

我想知道我是否可以使用PHP在两个不同子域之间进行SSO。 (例如:parappawithfries.com和* .parappawithfries.com)。我的配置不应该如此,因为我使用cloudflare将我的订阅者指向另一个000webhost网站。我知道我应该只使用infinityfree,但不会获得https://和子域。很多问题,但是可以解决,那就太好了。无论如何,我想知道我是否可以在HTML中做类似的事情。

<script src="https://parappawithfries.com/user.js"></script>

和user.js(在NON子域中)需要通过基本将其打印为变量来设置一个cookie,该cookie具有由JS复制的用户的PHPSESSID。我可以使用JS,AJAX,jQuery或其他任何方式来做到这一点,而无需使用PHP,HTML,JS,AJAX或jQuery以外的其他方式吗?

好的,好的,我抱歉。 parappawithfries.com指向parappawithfries.000webhostapp.com。 它的子域不指向parappawithfries.000webhostapp.com中的文件夹。它指向一个不同的000webhost网站。不是parappawithfries.000webhostapp.com中的文件夹。

哦,是的,这是一个例子:https://imgur.com/a/giBwTwp

我需要编辑...再次(这很累)

我将托管从000webhost切换到了infinityfree,并且子域正常工作。是时候看看它是否现在可以工作了...

2 个答案:

答案 0 :(得分:1)

在PHP中,如果您使用setcookie()参数(例如parappawithfries.com)$domain,则该域和任何子域都可以访问该Cookie。

https://secure.php.net/manual/en/function.setcookie.php

从那里,您可以确保所有站点都设置为使用单个Memcached服务器,并且它们都应该能够共享相同的会话。

有关设置此设置的详细信息,请参见下面的链接。

https://www.digitalocean.com/community/tutorials/how-to-share-php-sessions-on-multiple-memcached-servers-on-ubuntu-14-04

答案 1 :(得分:1)

Cookie不能在不同的域之间共享;但是,您可以使用其他具有cookie的域,并且可以在此处进行身份验证。