xuxueli / xxl-sso

A distributed single-sign-on framework.(分布式单点登录框架XXL-SSO)
http://www.xuxueli.com/xxl-sso/
GNU General Public License v3.0
1.94k stars 818 forks source link

关于引入redis的建议 #31

Closed iwin4aids closed 4 years ago

iwin4aids commented 5 years ago

希望作者重新考虑下,功能上说支持跨域,也就是说支持2个业务站点互相访问,根据cookie或者token获取用户信息这块,client居然直接去连sso-server的redis,很多情况下是不现实的,这些场景下也直接导致该方案不可用,已经有兄弟建议使用http的方式访问sso-server验证cookie/token并拿到认证主体,然后在本地应用构建session。

看了下源码,其实实现是回调url通过参数传sessionid,然后再写cookie,这里设置cookie的domain为null来实现“大规模”跨域,不但跨域,而且跨了所有域,也就是所有网站都能拿到你这个cookie,基本没有任何安全性可言····

弱弱提几点建议: 1、cookie的方式实现安全跨域确实比较麻烦,因为cookie天生不能跨域,所以有很多hack方法都需要在页面用js实现,比如使用ajax jsonp或者h5的iframe嵌套postMessage实现,不过这些可能都不是太通用的方案 2、token天生支持跨域,如jwt这类携带信息多还轻量级的token可以考虑支持

xuxueli commented 4 years ago

合并至:https://github.com/xuxueli/xxl-sso/issues/20