单点登录场景与理解
提示
刚好遇到SSO单点登录的问题,借此文章整理对应的技术实现与注意事项。
# 单点登录存在的意义
- 解决
HTTP无状态的问题 - 解决多系统登录统一认证的问题
- 多系统登录存在跨域问题,需要解决
- 使用单点登录,只需要携带统一凭证即可
# 单点登录的具体流程

# cookie、session、token 之间的区别
# cookie 与 session 的区别
cookie数据保存在 client,而session数据保存在servercookie的安全性有一定问题,可能回存在cookie欺诈的问题session会占用较多的服务器资源,同时,如果做了负载均衡,不同服务器之间的session信息不会同步- 单个
cookie最多 4K,一个站点最多保留 20 个cookie
# cookie 与 token 的区别
cookie+session是一种常用的解决http无状态的方式,可以创建临时会话- 而token本身是服务端提供给客户端的临时凭证,可以在多系统之间提供临时的身份认证
# cookie + session 的方式为什么不能防止 CSRF,而 token 可以
因为form 发起的 POST 请求并不受到浏览器同源策略的限制,因此可以任意地使用其他域的 Cookie 向其他域发送 POST 请求,形成 CSRF 攻击。在post请求的瞬间,cookie会被浏览器自动添加到请求头中。但token不同,token是开发者为了防范csrf而特别设计的令牌,浏览器不会自动添加到headers里,攻击者也无法访问用户的token,所以提交的表单无法通过服务器过滤,也就无法形成攻击。
# 参考文章
最近更新~: 2024/08/19, 01:05:55