企业微信登录 code 获取不到及 invalid code 常见问题!ToB Dev常见问题系列!

发布

最近关注到 企微开发者社区和 ToB Dev 公众号下的 企微开发同行群 经常有企业微信登录 code 获取不到及 invalid code

ToB Dev B端开发者社群已有二十多个群,一万多粉丝,在群里交流中积累了大量的企微开发过程中的问题。今天ToB Dev为大家整理出code 获取不到及 invalid code 大概率会出错的原因。


一,code获取不到


1,如果是vuejs hash模式,从登录到跳转到redirecturi,code会有时#号前,有时在#号后。如果在#号通过vuejs取路由参数是取不到code的。

注意:需要自己通过抓包或复制当前回调到redirecturi的地址看code在哪。

解决方案:解析url取出code即可。

code在#号前

https://xx.com/?code=uuqCXjoOvXMu-6Tj52lkg1-hjSe5W4QK7SNtPS5_hXU&state=1685694932#/pages/xxx

code在#号后

https://xx.com/#/pages/xxx?code=uuqCXjoOvXMu-6Tj52lkg1-hjSe5W4QK7SNtPS5_hXU&state=1685694932

解析url取出参数方法自行百度一大堆,如

export function queryString(name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
var r = window.location.search.substr(1).match(reg);
if (r != null) {
return unescape(r[2]);
}
return null;
}


2,自己程序在从登录到跳转到redirecturi后,或者路由及权限校验等等,在跳转到redirecturi前或者后经过了处理,导致不能直接到redirecturi或者到了redirecturi后又跳转走了,会导致取不到code。

解决方案:自己抓包或者追踪url跳转,看有没有到redirecturi或者到了后跳走了。


二,invalid code


1,如果是小程序登录

不管理自建/自建代开发/第三方应用,前后端的接口必须是配套使用,前端使用wx.qy.login,后端使用企业微信小程序文档中要求的对应后端的接口(有人用oauth登录获取用户信息的还有扫码/pc扫码登录及快捷登录获取用户信息的 这个不行)。


附第三方应用小程序登录后端接口文档地址示例


图片




2,如果前后端登录接口没问题

a,一般是用错token,仔细看文档要求用的是什么token,然后追踪后端获取token用的是什么企业的什么应用的配置。

b,前后端企业不一致,前端当前企业微信是在a公司,后端用了b公司的配置获取的token或者其它信息。(多个公司弄混,配置混乱错误)

c,前后端应用不一到处,前端当前企业微信是a应用,后端用了b应用的信息。(多个应用测试弄混,应用配置混乱错误)


附官方社区查询token权限入口

图片



图片



评论·1
2024/08/16
赞同 1
评论