公众号网页授权域名,授权域名不够用怎么办
阅读(115)发布于 2023-07-31
微信公众号授权域名在哪里找到微信公众号授权 1、打开微信公众平台,输入账号密码登录后台。将域名A.example.com 微信公众平台->设置->公众号设置->功能设置->网页授权域名 在域名A.example.com添加中间页get-weixin-code.html 中间页不一定在根域名下。
微信公众号授权域名在哪里找到微信公众号授权
1、打开微信公众平台,输入账号密码登录后台。
2、点击【公众号设置】。
3、点击【功能设置】。
4、找到【网页授权域名】,点击旁边的【设置】。
5、在修改业务域名和JS接口域名时,已经上传过这个文件的话,那么请直接跳过这一步。如果还没上传的,直接点击文件下载,然后上传到服务器。
6、上传成功后,直接输入授权域名,点击【确认】即可。
微信公众平台开发:通过OAuth2.0方式不弹出授权页面获得用户基本信息
登陆微信公众平台,菜单“设置”→“公众号设置”→功能设置→网页授权域名
【定义】授权回调页面域名:用户在网页授权页同意授权给公众号后,微信会将授权数据传给一个回调页面,回调页面需在此域名下,以确保安全可靠。
以上定义似乎会把人带入误区,我一开始被整懵了。配了个回调地址,其实不用,只需要配置授权访问的域名就ok了,这里我配置的是testpcenter.shenbianhui.cn。注意,要保证域名可访问并且要把MP_verify_****.txt放到站点相应的目录下,否则点击“确认”按钮会提示的。
step2.构造微信用户请求的url
页面URL中的scope=snsapi_base表示应用授权作用域为不弹出授权页面,直接跳转,只获取用户openid
这里我配置的redirect_uri是http://testpcenter.shenbianhui.cn/TCP/WeixinJSPay.aspx
step3.返回回调页面如下
这里获得到了code
step4.再使用code获取OpenID
url如下:
返回如下
step5.获取全局AccessToken
返回结果:
step6.最后,使用全局ACCESS_TOKEN和OpenID就可以获取微信用户的详细信息了
返回如下:
至此,成功获得用户基本信息。
这种适合已经有OAuth2.0网页授权的服务号在网页中使用,且不会弹出“微信登录”页面。减少给用户的打扰。
ref:微信网页授权官方文档https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
【微信】授权回调页面域名
其次:微信会立即发送code值和state(你自己设定的字段)到你的redirect_uri中,如:http://test.com/test/pay?code=CODE&state=STATE
2:拉取用户信息
微信的网页授权回调域名只能设置一个,但是多个业务使用同一个微信公众号授权信息的话,就需要使用者内部进行处理了。我在应用设计之初就会对应用做业务拆分,然后不同的业务采用不同的二级域名来部署。如果每个业务集成微信登录和微信支付,那么就会存在问题。因为根据授权回调页面域名的原则,它只能用一个域名,并且只有回调地址的域名与该设置完全相同,才能成功发起微信授权。
授权域名不够用怎么办
http://www.chanpindashi.com/2020/04/16/3364.html
本文部分知识来自网络后加工,目前服务号授权域名只有两个,项目一个一个上,后发现域名不够用,在此记录下。
项目进行微信开发,认证了一个微信服务号专门用于内部测试,但是内部可能存在多套不同环境(开发dev、测试sit、预发布uat)等,由于微信限制一个服务号只能配置2个网页授权域名,又不可能给每个环境单独配一个服务号,这样不仅需要成本而且很浪费资源,所以重点需要解决下面这个问题:
1、可以自动区分环境。比方部署开发环境。url可能是http://dev.xxx.com/api/,而在测试环境的时候应该是http://sit.xxx.com/api/。而并且不能写死,否则开发和测试就要换来换去。非常麻烦.
2、总结分享一下思路:
主要是通过中间页面代理获取微信授权CODE,然后跳转到对应需要使用的环境URL下;
比如原来开发环境,微信中授权域名配置的是dev.xxx.com,那么现在配置的是一个代理域名proxy.xxx.com,通过代理域名拿到code后在跳回dev.xxx.com,如下图所示
中间页的原理
中间页主要做了依次做了两件事情:
解决办法
假设我们有A.example.com、B.example.com、C.example.com域名想使用微信授权,我们可以将网页授权域名设置为A.example.com。
步骤如下:
设置回调域名。将域名A.example.com
微信公众平台->设置->公众号设置->功能设置->网页授权域名
在域名A.example.com添加中间页get-weixin-code.html
中间页不一定在根域名下。在这里我们放在根域名下。中间页的访问地址如下,https://A.example.com/get-weixin-code.html
假设域名B.example.com/game需要进行网页授权。我们可以使用下面链接进行授权,获取微信的授权code
https://A.example.com/get-weixin-code.html?appid=XXXX&scope=snsapi_base&state=hello-world&redirect_uri=https%3A%2F%2FB.example.com%2Fgame
最终会回调到这个地址https://B.example.com/game?code=XXXXXXXXXXXXXXXXX&state=hello-world,这样就可以拿到授权code和state参数。
利用授权code,请求自己后端服务器,获取微信用户信息。
以上就是关于公众号网页授权域名的解答,如果对你有帮助,不妨关注本站,本站将为你整理更多内容。