讨论描述:
登录鉴权的方式,我们课程中采用的是JWT的方案,而在一些大型的系统中,会考虑cookie/session + 单点登录的方案。什么是单点登录?
单点登录(Single Sign On),简称为SSO,是比较流行的企业业务整合的解决方案之一。 SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
如果用Node来实现单点登录,我们需要考虑什么?
思路和点拨:
首页,我们应该了解单点登录解决的问题是什么,应用场景是什么?
公司项目中如果有单点登录的场景,与后台人员讨论单点登录的原理。之后,针对 Node服务来设计单点登录时,应该考虑的技术栈,从koa&express这些基础的框架出发,看看有没有比较成熟的技术栈,然后再从上层框架Egg.js,nestjs等,来选择合适的方案。确定方案后,构建最小的闭环,测试单点登录的实现。
常见的坑点:
a. 前端无法访问cookie
b. 如何透传cookie
c. 多个域名如何解决跨域问题
单点登录失败的原因:
a.跨域请求被浏览器拦截
b.服务器未及时响应(超时)
c.请求被浏览器插件拦截
d.该数据直接采用了缓存,并没有发送请求