前端接入单点登录(sso)开发流程大礼包,内含vue、react | vue sso login
祖国生日,举国同庆,在下家境贫寒,没什么拿得出手的东西,给大🔥来个大礼包,整个活。先简单说明一下,单点登录是什么,什么是单点登录[1]下面以前端的角度,说一下流程,以sso平台(sso.heiwangbatiancaishaonian.com)登录任意后台管理系统(one.heiwangbatiancaishaonian.com)为例:sso提供的token过期时间为24小时,ticket的失效时间是5分钟,都不是永久有效的。如图可以看到,在登陆成功后的跳转中,参数是含有ticket的,举例中的one.heiwangbatiancaishaonian.com是history模式的,而在hash模式下url会表现为one.heiwangbatia...
祖国生日,举国同庆,在下家境贫寒,没什么拿得出手的东西,给大🔥来个大礼包,整个活。
先简单说明一下,单点登录是什么,什么是单点登录[1]
下面以前端的角度,说一下流程,以sso平台(sso.heiwangbatiancaishaonian.com)登录任意后台管理系统(one.heiwangbatiancaishaonian.com)为例:
sso提供的token过期时间为24小时,ticket的失效时间是5分钟,都不是永久有效的。
如图可以看到,在登陆成功后的跳转中,参数是含有ticket的,举例中的one.heiwangbatiancaishaonian.com是history模式的,而在hash模式下url会表现为 one.heiwangbatiancaishaonian.com?ticket=ST-173200-sA96hzXOTMY2R4sxz8OKU9RLTQEsz-lg-manage-11-74#/[2] ,由于项目可能有url解析逻辑或者location判断逻辑,所以我们在处理登录时需要在完成登录后去除url中ticket字段,避免与项目本身冲突产生不必要的bug。
登录逻辑整体逻辑如图所示,蹩脚英语,将就看看
如图,以某一后台管理系统(one.heiwangbatiancaishaonian.com)分析测试用例,我们以结果为导向梳理一下这个逻辑
用户进入项目,有可能是两种情况:
sso登录后跳转的 不带重定向参数 带重定向参数(可选) 直接输入想看的页面url 首次登录(无token) 二次登录(有token但不知是否失效)url有三种情况:
one.heiwangbatiancaishaonian.com/login[3]
one.heiwangbatiancaishaonian.com/appManage[4]
one.heiwangbatiancaishaonian.com/login?redir…[5]
*三个测试用例分别对应为为登录逻辑组件,普通组件,url中带重定向参数的登录组件
注:注明可选的可以忽略,仅为...