设置oauth独立域名(微信OAuth2.0授权回调页面域名设置问题怎么解决?)

发布日期:2023-03-22 00:41:06   浏览量 :200
发布日期:2023-03-22 00:41:06  
200

2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家 

设置oauth独立域名(微信OAuth2.0授权回调页面域名设置问题怎么解决?)

一、微信OAuth2.0授权回调页面域名设置问题怎么解决?
当下的解决方案是引入一个新的非常简单的应用来作为微信授权的代理服务,可以这么做:

1. 把公众号的网页授权接口域名设置成另外一个子域名,如proxy.your; 2. 然后把php_weixin_proxy里面的index.php部署到proxy.your

php_weixin_proxy下的index.php是一个很简单的php文件,你可以直接查看源码了解它的实现方式。因为当前项目的环境,我采用php来完成这个代理服务实现,实际上,你完全可以用任意平台语言来完成类似的功能。

当其它业务需要发起微信授权时,将授权请求先发到proxy.your,然后proxy.your会把这个请求转发到微信; 当用户同意授权后,proxy.your会收到微信的授权回调,并把回调结果(code、state参数)原封不动地再返回给最开始发起授权的业务。

唯一的区别在于,在不使用proxy.your的时候,你从应用发起微信授权的链接应该是这样的: https://open.weixin.qq/connect/qrconnect?appid=xxxxx&redirect_uri=http%3A%2F%2Fpassport.your%2F&response_type=code&scope=snsapi_login&state=584bc87e11ff37492#wechat_redirect 用了proxy.your之后,这个授权链接就应该是这样的: http://proxy.your/?appid=xxxxx&redirect_uri=http%3A%2F%2Fpassport.your%2Flogin%2Fnotify&response_type=code&scope=snsapi_base&state=584bc87e11ff37492&device=pc

后面这个链接跟上面的比: 1. 后面的链接中的host变成了proxy.your,也就是代理的授权回调域名; 2. 后面的多了一个device参数,这个是必要的。因为微信pc端跟移动端的授权地址是不一样的,而后面的链接是发送个proxy.your的,所以需要多加个参数告诉它在转发给授权申请给微信的时候,是用PC端还是移动端的授权地址。

二、微信OAuth2.0网页授权67可以添加多个域名吗?
只有一个。如果有多个程序,某个支持子目录。回调域名http://www.abc。在根目录下新建某个目录/pin。把代码传到pin文件夹。通过http://www.abc/pin。前提是这个代码支持子目录访问。这样就可以一个授权域名,(1 n)个程序,共用。如果不支持子目录访问,那就没办法了。
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
支持 反馈 订阅 数据
回到顶部