“请在企业微信客户端打开链接”,能不能破!

78 天前
 tlerbao

最近给企业微信开发 H5 应用,打开自动跳转企业微信 OAuth 连接授权

但是必须在企业微信下打开,有办法用 Chrome 调试吗?

企业微信内置的浏览器和 DevTool 太烂了。

3454 次点击
所在节点    程序员
18 条回复
iOCZS
78 天前
应该可以通过注入来模拟微信客户端环境
tlerbao
78 天前
@iOCZS 测试过吗兄弟,具体怎么做呢?很难受。
456vv
78 天前
微信开发者
totoro52
78 天前
除了 OAuth 认证,不是还有一个扫码登录吗,对接一下那个扫码登录就可以在自己浏览器上访问了,不过不走登录流程不就好了嘛, 开发不都是写死认证 token 的嘛
ryanlid
78 天前
是因为你的代码里,调用了微信登录之类的功能吧
tlerbao
78 天前
@456vv 平时都是用 vscode webstorm 。。。。 微信开发者工具可以吗?听说总卡死哈
tlerbao
78 天前
@totoro52 我这个 h5 是想脱离企业微信也能用,如果没有 token ,看是不是企业微信客户端访问,是的话就自动走 oauth 认证自动换 token 自动登录,非企业微信就是直接跳 login 手动登录哈
tlerbao
78 天前
@ryanlid 对啊
hafuhafu
78 天前
开发环境下直接假装认证成功,直接用自己的 userid 就好了,不用走通过 code 换 userinfo 这个方式,因为你测试和开发环境肯定是能正常换到 userid 的。
hafuhafu
78 天前
@hafuhafu 测试和开发->测试和生产
tlerbao
78 天前
@hafuhafu #9 这么肯定吗?
hafuhafu
78 天前
@tlerbao #11 我三四年前做过企微自建应用,如果流程还没变的话,就是:用户从企业客户端工作台点应用->进到企微认证的 url->跳转到自己配置的应用回调 url 并携带 code->用 code+token 调企微 API 去换 userinfo ,一般有用的也就一个 userid 。只有在客户端里才能成功走完这个流程。你要用 chrome 来调试页面就直接跳过这个流程完事,本来也只是要个 userid 而已。
totoro52
77 天前
@tlerbao #7 那判断下 UA 不就好了, 我们系统也是这么做的, 只是这个判断交给了 nginx 去做, 前端涉及不到
paledream
77 天前
你这是调用了企业微信 JSSDK 的授权登录 API 后重定向到了微信的页面,你把这个调用逻辑放到判断 UA 后面
markgor
77 天前
1 、先测试跳转获取授权这块有没问题,和内置浏览器或 devTool 烂不烂没任何关系,只需要测试自己授权获取代码是否有问题。
2 、第一点自己授权这块没问题后,测试环境直接跳过授权这一块,模拟登录成功,进行业务代码调试
3 、上面都完成了,发布去正式环境,走一次完整流程测试。


"我这个 h5 是想脱离企业微信也能用,如果没有 token ,看是不是企业微信客户端访问,是的话就自动走 oauth 认证自动换 token 自动登录,非企业微信就是直接跳 login 手动登录哈"
>非企微环境下,支持扫码登录;
一般做法是登录的时候,判断 UA ,如果是企微,让用户选择登录方式,一键登录(企微)/账户登录;
如果不是企微环境,选择扫码登录或账号登录。
jucelin
77 天前
直接用微信开发者工具
alleluya
76 天前
@totoro52 客户端用 ua 做判断是不是比在 ng 做少消耗服务器资源?
totoro52
76 天前
@alleluya 前端做也行,只是你需要等 js 这些资源拉完初始完才会跳,ng 直接跳

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1017333

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX