前言
前面的文章记录了proxy代理后端接口,其实践过程中也不乏踩坑之处。
SSO单点登录
这里有一篇文章写得不错,分析了淘宝、天猫的登录场景(漫谈单点登录)。
COOKIE
关于cookie的知识自己搜,我这就不废话了。关键看请求的response headers ,上图(服务器发送一个Set-Cookie请求来创建本地cookie)
Set-Cookie: <cookie-name>=<cookie-value>; Domain=<domain-value>; Secure; HttpOnly;Path=<path-value>;Expires=<date>;Max-Age=<non-zero-digit>
复制代码
- name=value: cookie键值对
- Domain:存储域
- Secure:在使用SSL或者https发出请求时,默认带上secure字段,cookie才会被设置
- HttpOnly:无法通过js获取cookie,防止xss攻击
- Path:存储路径
- Expires:过期时间 (DD-Mon-YYYY HH:MM:SS GMT 日期格式)
- Max-Age:过期时间 (以秒为单位,权限比expires大)
cookie中domain在单点登录中的使用
现在来假设两个网站
A: www.test.rab.com
B: www.rab.com
domain值对cookie获取的影响
1.将cookie设置在.rab.com的domain下,A与B都可以取得cookie值
2.将cookie设置在.test.rab.com的domain下,只有B能拿到cookie值
简单来说,就是父级域名下设置的cookie,其各个子域都可以获取到~~
之前踩得坑是将proxy代理的接口地址指向了https的地址,其set-cookie上带了secure字段,而我本地起的开发环境是http,基于安全机制无法将用于sso登录的cookie设置。后面的解决方法也很简单,我把proxy指向http的就行,无语。。。