我目前正在运行此设置,其中网站在 site.domain.tld 上运行,后端在 admin.site.domain.tld 上运行
将在 sso.admin.site.domain.tld 安装一个有点 SSOish 的系统。事实上,当访问该站点时,用户已通过身份验证,设置了相应的 cookie,并且用户被移回 admin.site.domain.tld。
当我设置这样的cookie时
setcookie('bid', $bid, 0, '/', 'admin.site.domain.tld');
我将获得一个为 .admin.site.domain.tld 发布的 cookie cookie(注意点)。
这样的登录工作正常,但如果用户出于某种原因首先访问 admin.site.domain.tld,然后决定使用 sso[...] 登录,我们就会遇到问题:adminpage 为自己设置了一个 cookie - 但这次是为 admin.site.domain.tld 发布的 - 开头没有点。
所以基本上在这次使用 sso-login 之后,用户最终拥有两个不同的 cookie,一个用于 admin.site.domain.tld,一个用于 .admin.site.domain.tld
因为管理页面更喜欢直接为页面本身设置的 cookie,所以点 cookie 被忽略并且登录失败。
所以基本上最好的方法是读取、修改或删除已经存在的 cookie,但这在 sso 子域中似乎是不可能的。
“由于某些原因”,我们无法将 sso-subdomain 中的内容直接放在 admin-subdomain 上。
任何有想法的人,我能做些什么来摆脱那些“坏”的admin.-cookies?