最近接触网页授权的项目比较多,后端重定向授权和前端授权都试过,先说一下目前用过的几种方法
1,后端授权,前端只需要获取url中的code传给后端即可,如果没有code说明没有授权,后端重定向,中间还有其他处理,此方法我不太喜欢,用过一次就不用了就不细说
2,前端授权:本人前端程序员,一直觉得我做的网页授权都不太优雅,有个login页面用作授权,使用的vue及其生态
a: 使用login做为首页,根据是否有openId判断用户是否授权,判断url参数,获取code,没有code,前端跳转微信授权url,授权回调域名为当前页面的URL,初次进入会在login授权页面,授权成功调用接口获取openId,如果需要通过登录跳转到不同页面,url加对应的参数跳转,但是都要从login页开始跳转
b:最近想到一个方法,用户先进入页面,使用路由守卫判断当前有没有当前用户的标识(存cookie中),如果没有跳转login页面登陆授权,授权/登录完成后返回用户进入的页面(可能返回一页也可能返回两页),这个方法我比较满意,体验较好,需要访问的URL也不用特殊处理,直接跳转要去的URL就可以,但是在测试阶段发现了问题,部分手机在授权完成后js无法返回之前的页面(使用手机自带返回可以),一直没找到什么原因
暂时能想到的就是这么多,有没有其他比较好的思路,或者我这种方式有什么可以优化的地方