具体问题,简单的demo如下:
具体泰康流程:
1、如果用户没有登录=>2、点击会进入泰康OA系统,并把运营配置的参数传过去=>3、OA系统登录后会返回我们所需的token=>4、我们保存token信息添加到header并关闭
OA登录页面然后原来的页面自动跳转登录后的页面。
第一步:我们使用的是vue-authenticate这个插件来跳转到OA页面并配置需要传给OA的参数以及登录成功的返回地址。(具体API可以参考官网),下面基本配置
第二步:登录成功后系统会把我们要的token信息返回给我们上面定义的地址 例:http://localhost:8080/auth/callback?tokenType=type&&token=kdk12344
第三步:我们通过js解析上面地址栏的参数保存在本地缓存中。(这个就和我们平时获取后端的token然后保存,和添加到header是一样的,通过路由拦截监听到是登录后返回的路 由,我们在header里设置 Authorization 的值
)
第四步:我们需要关闭这个页面通过window.close()方法,并把原先的页面跳转到登录后的页面,通过window.opener 获取到原先页面的window对象,然后window.opener.location.href进行跳转,或者通过reload()方法进行刷新都可以了。
注:你必须是通过原先页面的行为跳转到新的页面,才能获取到window.opener 对象。这也是为什么很多直播网站都是点击登录后跳转到登录页的原因。