提示:本人才疏学浅,如文章中表达不清晰或有问题,请大佬赐教。
一 、redirect_uri域名与后台配置不一致。错误码:10003
我用pc端浏览器发现都是通的,一切安好,发布到公众号上是,报了一个这个错误,错误码 10003 表示重定向 URI(redirect_uri)的域名与后台配置不一致。这通常是由于在 OAuth 2.0授权流程中,客户端(如网站或应用程序)请求访问受保护资源时,提供的重定向URI与后台配置的不匹配导致的
。
OAuth 2.0是目前最流行的 授权机制 ,用来授权第三方应用,获取用户数据。
解决方案:
- 确定下网络授权域名是否授权
- 修改下网页链接
二、网页授权
- 假设用户通过链接分享或者登录某一个公众号,除了第一次外,他怎么做到再次进入时无感的呢? 就是因为 OAuth 2.0 协议,
网页授权中存在一条逻辑链条 :
- 引导用户进入授权页面同意授权,获取code
- 通过code换取网页授权access_token(与基础支持中的access_token不同)
- 如果需要,开发者可以刷新网页授权access_token,避免过期
- 通过网页授权access_token和openid获取用户基本信息(支持UnionID机制)
三、业务域名、JS接口安全域名、网页授权域名
涉及到网站与第三方服务(如微信公众平台)交互时的三个不同概念,它们各自有不同的用途和限制。
- 业务域名:业务域名主要用于用户访问时的安全提示。如果用户访问的落地域名不是设置的业务域名,可能会收到风险提示。这主要是为了提醒用户当前访问的网址可能存在安全风险。
- JS接口安全域名:JS接口安全域名涉及到公众号网页的分享功能以及JavaScript调用的功能,比如获取用户的地理位置、收货地址等。如果落地域名不是设置在JS接口安全域名中,那么这些功能可能会受到影响,无法正常使用。
- 网页授权域名:网页授权域名是指用户在访问网站时,如果不是设置的授权域名,用户将无法正常访问网站页面,可能会出现报错信息。这个设置通常用于确保用户访问的是经过授权的正确网站,以防止钓鱼网站或者非法网站冒充。
总的来说,业务域名更多关注于用户访问的安全性提示,JS接口安全域名关注的是公众号相关功能的正常执行,而网页授权域名则是确保用户能够顺利访问并使用网站的基本保障。
四、两种配置有什么不同?
- https://open.weixin.qq.com/connect/oauth2/authorize?appid=
appid号
&redirect_uri=地址
&response_type=code&scope=snsapi_userinfo&state=STATE&connect_redirect=1#wechat_redirect - http://xxx .xxxx. cn/hcz-h5/#/pages/equity/index
-
微信OAuth2.0授权登录链接:这个链接被用于微信用户授权给第三方应用获取其信息。当用户访问此链接并同意授权后,会被重定向到指定的redirect_uri,并携带code等参数。第三方应用可以使用这个code以及自己的AppID和AppSecret去换取access_token,进而获取用户信息或进行其他操作。
-
具体网页地址:这是一个普通的网址,指向某个网站(hcz.beidouchaxun.cn)下的特定页面(/xxx .xxxx. cn/hcz-h5/#/pages/equity/index)。用户访问该网址时,不会经过微信的用户授权流程,而是直接浏览网页内容。
总的来说 -
第一个链接涉及到微信的用户授权过程,通常用于用户登录或获取用户信息的场景;第二个链接则是用户直接访问的网页,没有微信授权相关的操作。