在做项目的时候,需要在原生页面集成H5页面,本地WebView会储存网页的cookie。
cookie中会存入一些用户信息和token。
加密的token:
eyJhY2NvdW50SWQiOjExOSwiYWNjb3VudE5hbWUiOiLpqazpu47mmI4iLCJhY2NvdW50VHlwZSI6Miw
iYXV0aG9yaXRpZXMiOltdLCJleHAiOjE1NjY1MjcyNjE3MDgsImlhdCI6MTU2MzkzNTI2MTcwOH0=.
Base64解密
{"accountId":119,"accountName":"马��","accountType":2,"authorities":[]
,"exp":1566527261708,"iat":1563935261708}
这个token是有时效性,并且请求服务端的时候,服务端会进行token校验。H5在加载的时候会将token写入cookie中,并将cookie写入对应的域(domain)名中。但是项目的域名改过,却没有将原先的cookie清除,导致又写入新的cookie。再请求服务端的时候将根路径下的cookie全上传给服务端了,服务端根据cookie中的token别名去取 token(默认第一个),但是这个排序又是无序的。导致有时会拿到错误的token。即返回登录状态失效,直接退出了。
截图如下:
image.png
image.png
网友评论