问题描述
最近在做一个项目的登录的时候,发现了登录不上的问题。
这个系统是从主系统(例如:www.abc.com)中登录,然后跳转到子系统中(例如:www.abc.com/d/e),主系统可以正常登录,但是在跳转子系统的过程中会遇到token失效的问题,总是进不去。
问题研究
最后发现,主系统登录后,token存储在path为“/”下;子系统后来另加了一个登录,作为一个特殊人群的登录渠道,在子系统登录后,token存储在“/d/e”的path下。当使用了子系统内的登录后,token并没有删除。所以在主系统登录成功,点击跳转子系统时,路由从www.abc.com换为www.abc.com/d/e,这时之前存储的子系统登录后的token会出现(path为“/d/e”),这时候调取接口用的是之前子系统的登录token,所以会一直出现token失效的问题
解决办法
- 在获取token之前,先清除path为“/d/e”下的token
- 子系统登录时,将token存储在path为“/”下