vue项目,一个端两个域名 ,a域名跳转到b域名的时候能够保持登陆 ??

目前的项目是一个端有两个域名 , a域名下登陆了 ,跳转到b域名的时候应该怎样保持登陆状态呢 ,江湖救急

阅读 5k
5 个回答

如果 a 和 b 在同一个根域下的话,直接把 cookie 写到根域下就好了;
如果 a 和 b 不在同一个根域下的话,建议看一下 sso 登录相关的教程,下面搜了几个:

https://developer.aliyun.com/...
https://zhuanlan.zhihu.com/p/...

ps: 登录状态这个跟 vue 关系不大,可以拉上你们的后端同学一起来看

这不是前端能做到的,是后端来做。俗称:单点登录。简单的来说就是,登录接口是公用的。

给你点关键词查一查?

  1. sso
  2. oauth

这东西就是让 b 站点也认识你这个 a 站点的用户。 怎么办呢?

  1. 楼上说的根域名 cookie 的方案,通通去找 c ,a 和 b 对于你的信息全都依赖于 c 认识你。
  2. b 站点给 a 站点一个 key,如果 a 站点认识你,携带 key 去访问 b 站点。这样 b 站点可以关联上了。
  3. a 站点跳转的时候直接给 b 站点一个 key,b 站点用 key 去 a 站点拉取信息。

当然这都是一些乱七八糟的方案,还是希望你用一些正规的。因为比较安全,行业内也一直再用。

SSO 认证登录~~
简单来说,就是有一个认证中心,a和b都是认证中心的人~
这样a登录了,跳b就不用登录了~
[类比门禁刷卡,有卡的人刷一次,后面跟着的可以蹭?]

核心是SSO(单点登录)
这里要引入一个C 所谓的用户认证中心。
1.A执行跳转到B的时候,请求C获取一个一次性的code
2.hostB?code=xxxx
3.在B站点,用携带的code请求C,认证成功,完成登陆。这里要注意code只能使用一次。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题