企业微信自建应用,推送消息,链接跳转页面有缓存,还有其他办法解决吗?
提问
企业微信与其他异构系统进行对接,要求企微自建应用推送消息,用户通过链接单点跳转到指定页面。
场景:在OA审批中,系统推送消息给企微用户,用户通过链接单点跳转到OA系统进行审批
问题:推送消息中带了单点跳转的链接,第一次执行后可以跳转,但是链接具有时效性,过了一段时间后无法登录了。于是我做了一个接口,采用get方式进行调用。比如http://system/api/todo?loginid=123 后端通过执行接口逻辑,获取loginid,调用OA接口,生成单点跳转链接,然后在通过重定向的方式,跳转链接进入OA系统。整体逻辑没有问题,在浏览器也可以跳转。但是在企微应用消息推送时候,第一次可以跳转,过了时效后,再次点击执行的还是第一次的跳转链接,于是就无法登录。通过社区,说往链接里面添加时间戳来解决,但是加了之后,还是没有效果。在接口中添加log,发现第一次成功调用,但后面的几次都没有继续调用这个接口。浏览器访问又是可以。缓存问题得不到改善。同事说添加一个静态页面,通过页面JS 调用HTTP请求,用windows.open() 跳转。改造后可以正常跳转,想问问各位是否还有其他的方法解决这个问题?
想到一个方案,企微有构造网页授权链接:https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE&agentid=AGENTID#wechat_redirect, 如果把redirect_uri改成接口地址,是不是就可以实现重定向跳转,目前还没有验证,但可以一试