php,外部域上的ajax身份验证


php, ajax authentication on external domain

假设我有domain-a.com(a)和domain-b.com(b)

我希望能够在统一登录的两个域之间共享php会话,这样,一旦用户登录到a,就会自动登录到B,反之亦然。

现在,我面临的问题是,即使我设法让浏览器通过ajax通过Access Control Allow Origin标头与外部域进行对话,它也不会设置cookie(请不要告诉我"你不能为另一个域设置/获取cookie,这不是问题所在")

流程如下:

A向B 发送凭证

如果凭证正常

-B用来回答SESSID,以便与用户凭据一致(这样它可以通过两种方式生成,即:从A登录或从B登录),稍后将用于共享在B 上创建的会话

-同时,我希望B可以为其域编写cookie,但到目前为止我还不能。

我在这里需要的很简单,一旦来自A的凭据正确,我希望服务器B可以为他的域(B)编写cookie,我可以从标题中看到,从技术上讲,它正在设置cookie,但浏览器并没有真正监听。知道吗?我是否处于浏览器之间不兼容的危险地带?从技术上讲,对于最近的浏览器来说,所有这些都应该很普通。

谢谢!

如果domain-a.com和domain-b.com在同一台服务器上,您可以实现自己的会话或尝试使用session_id设置会话ID。如果它们在不同的服务器上,则需要使用某种复制或创建API来授权第三方域上的用户。