记录一次cookie导致登录失败的惨案

现象描述:

前端通过统一登陆的服务成功登录后,业务后端却告知用户未登录,导致前端页面反复跳转登录页面。

背景:

因为前后端分离,所以前后端项目部署在两个子域名下。

通过统一的登录服务登录成功后会在域baidu.com下种入登录凭证cookie,其key是"token"。

前端域名:xxx.baidu.com

后端域名:yyy.baidu.com

原因:

不知什么原因业务后端也会在yyy.baidu.com下种如key为"token"的cookie,并且登录态失效的时候这个cookie不会清除。所以当前端拿到最新的登录凭证并种在baidu.com域名下之后即使请求yyy.baidu.com时cookie中也会有两个"token",一个是登录服务种的,一个是业务服务种的,而业务服务种的失效了,但是又优先使用了业务服务的"token"导致一直登录不上。

解决方法:

业务服务不要记录登录态,或者发现登录态失效清除掉自己记录的登录态即可。

记录该问题的原因:

这个问题不好查的原因是前端通过开发者工具只能看到xxx.baidu.com和.baidu.com下的cookie。也没想到去看yyy.baidu.com下的cookie,所以不好定位。

最后仔细分析请求发送所带的cookie发现同一个key居然出现两次,才根据这条线索有所收获。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值