SSO和cookie的关系
最近在研究单点登录时,一个容易让人忽视的问题是为什么系统A登陆了,系统B就不需要登陆了?这里其实有个很重要的概念就是浏览器通过cookie进行了用户信息的传输。
那么在不同的浏览器中,cookie是否存在,是否能携带正常的用户信息呢?下面的测试可以给出答案。
以下测试逐一对比了常见的四款浏览器,在各个不同操作下能否正确的携带cookie。测试方法为使用JustAuth的demo程序,检验每次登陆后,在各种条件下,是否还需要再次登陆(也就是SSO是否失效了)。
浏览器cookie测试
浏览器完全退出
浏览器的cookie被清空,也就是都需要重新登录
- Chrome: Y
- Edge: Y
- Firefox: Y(F12中看不到cookie的值)
- Safari: Y
新增tab页共享cookie
浏览器新增tab页,只要登录(cookie有值)无论是8443端口页面还是9443端口页面都可以正常访问,是共享的cookie
- Chrome: Y
- Edge: Y
- Fireforx: Y
- Safari: Y
普通窗口共享普通窗口共享cookie
即浏览器新增普通窗口,同新增tab页
- Chrome: Y
- Edge: Y
- Firefox: Y
- Safari: Y
无痕或inPrivate或隐私窗口共享普通窗口的cookie
在普通窗口进行登录,在无痕或inPrivate或隐私窗口中,不能共享cookie(需重新登录)
- Chrome: Y
- Edge: Y
- Firefox: Y
- Safari: Y
普通窗口共享无痕或inPrivate或隐私窗口的cookie
在无痕或inPrivate或隐私窗口进行登录,在普通窗口中,不能共享cookie(需重新登录)
- Chrome: Y
- Edge: N,注意此处新正常窗口也用cookie可以正常访问,不用登录
- Firefox: N,同Edge
- Safari: Y
无痕或inPrivate或隐私窗口共享无痕或inPrivate或隐私窗口的cookie
在无痕或inPrivate或隐私窗口进行登录,在另一个无痕或inPrivate或隐私窗口中,不能共享cookie(需重新登录)
- Chrome: N,注意两个无痕窗口可以共享cookie,不用登录
- Edge: N,同Chrome
- Firefox: N,同Chrome
- Safari: Y