文章目录
- 问题说明
- 方案验证
- 涉及工具
- 结论
问题说明
微信服务号网页授权域名只能配置两个,而又没法直接配置主域名的形式,目前只能选取其中的一个业务域名来进行统一跳转解决。
方案验证
服务号现有配置数量限制如下:
申请测试号验证:
微信开放文档
配置nginx转发规则(按实际配置)
location = /wx/redirect/wx49ec3f6jiami2e5/greet {
# $arg_flag=apptest
if ($args ~* "flag=apptest") {
return 302 https://jiami.vicp.fun$request_uri;
}
return 302 https://jiami.vicp.fun$request_uri;
}
location /wx {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location = /test.txt {
root D:/test;
}
花生壳配置两个域名
一个域名配置在公众号的业务域名上,进行授权验证后获取code再进行302重定向到对应的其他业务域名,最终实现让其他域名也能获取到用户授权的信息。
开始验证:
构建网页授权链接
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx49ec3f6jiami2e5&redirect_uri=https%3A%2F%2Fjiami2021.picp.vip%2Fwx%2Fredirect%2Fwx49ec3f6jiami2e5%2Fgreet&response_type=code&scope=snsapi_userinfo&state=&connect_redirect=1#wechat_redirect
打开web开发工具
输入链接地址,弹出如下授权。
涉及工具技术
- 公众号Web开发工具
作用:开发调试微信公众号web页面,这个工具也是开发小程序、小游戏的工具。
概述 | 微信开放文档
- nginx
作用:做代理转发使用。
nginx news
- 花生壳
作用:使用穿透技术,访问到本地电脑的服务
- github
作用:开源项目地址,这里使用大佬提供的一套公众号测试的demo
GitHub - binarywang/weixin-java-mp-demo: 基于Spring Boot 和 WxJava 实现的微信公众号Java后端Demo,支持多公众号
- idea
作用:java开发工具。
结论
针对微信服务号的的业务域名数量只有2个的限制下,选择其中一个业务域名充当统一验证跳转的形式是可行的。