微信H5分享、复制链接遇到的坑

背景:
项目基于微信H5开发,微信内嵌浏览器在访问项目时,可以分享和复制链接,因为连接中携带了openId,导致系统权限失效,相当于别人拿着你家的钥匙进你家门一样。

解决思路:
在微信H5的入口请求中,增加携带openId 的cookie,前端全局js在页面加载时获取cookie ,如果没有,或者 cookie中的openId 与 URL携带的openId不一致,说明是分享或者复制的连接,直接跳转到关注公众号页面。

实现过程中的坑:
以前一直以为只要域名相同,重定向的cookie 就能保存到浏览器。但前端一直获取不到cookie,后来发现原来cookie 除了domain 还有path 属性,只要把path 值设置为 “/” 就好了。

Cookie cookie =  new Cookie("token",Base64Utils.encodeToString(token.getBytes()));
cookie.setPath("/");

你可能感兴趣的:(其他)