微信授权返回“scope参数错误或者没有scop权限”

微信授权返回“scope参数错误或者没有scop权限”

今天有个用户小程序在授权给我们的第三方平台时一直报”scope参数错误或者没有scop权限”, google发发现很多人有这个问题,但都没有解决我们的问题。试了一下公众号也是报一样的问题,就想一个简回调两个参数能错到那里去,先搞定公众号,小程序应该也就可以了。最后发现原因用户公众号没有配置回调域名。

Charles抓包公众号发现报错就是授权回调获取Code时

1
2
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE&component_appid=component_appid#wechat_redirect

上面是第三方平台授权回调多了个component_appid参数。
最小系统法,先使用最简单的公众号授权看看能不能成功,要使用公众号就得配这回调域名,发现配好回调域名后我构造了一个授权回调参数直接发到微信回点击,回调成功了。

1
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxdd7c270c72123456&redirect_uri=http%3A%2F%2Fwww.d2p.top&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect

再试第三方平台授权回调也是成功的。问题解决了,就是没有配置授权回调域名,以前一直认为第三方不使用用户公众号授权回调域名可以不用配置其实是不正确的。必须要配置。

排查问题

    1. 是服务号吗? 订阅号不行的。
    1. 检查用户服务号是否审核通过。
    1. 检查上面链接参数位置。
    1. 检查服务号是否已经获取相关权限。
    1. 检查是否配置回调域名。

经过排查发现我们的错误就是没有配置恩置调域名,尽管我们是第三方平台代用户公众号授权,用户的公众号也是需要配置这个的。随便配一个回调域名就行,其实是不使用的,公众号使用的是第三方平台授权回调域名。

参考

  1. 微信第三方平台授权文档: https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419318590&token=&lang=zh_CN
  2. 公众号授权文档: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842