一、实现原理: token验证
二、技术背景:vue+vue-router+token+js+cookie
三、具体步骤:
- A网站-通过路由进行跳转,将token设置成query参数
- B网站-在全局路由组件router.beforeEach中拦截
- B网站-通过location.search获取到url
- B网站-对url进行slice()和substring(),获取到token
- B网站-将token设置到B网站的token中
四、关键代码:
A网站:
open() {
let routeUrl = this.$router.resolve({
path: process.env.VUE_APP_PLATFORM_API,
query: { token: getToken() },
});
window.open(routeUrl.href.slice(11), "_blank");
},
B网站:
if (!!searchUrl && (searchUrl.substring(1, 6) === 'token')) {
Cookies.set(TokenKey, searchUrl.slice(7))
location.search = ''
}