本地调试微信公众号开发,获取openid,需要公网访问本地吗 ?

发布于 2022-09-12 03:20:20 字数 683 浏览 13 评论 0

就是微信app弹出 提示 用户授权,点击确认后 , 下一步流程是公网访问本地吗 ?

https://open.weixin.qq.com/ connect/oauth2/authorize?appid='.$appid.'&redirect_uri='.urlencode($redirect_uri).'&response_type=code&scope=snsapi_userinfo&state=STATE&connect_redirect=1#wechat_redirect';

上面微信授权弹窗URL 里面的这个 redirect_url 参数的域名 是不是 就是我在微信后台配置 “授权回调页面域名” 的那个 ? 比如我微信后台配置成 www.a.com(假如互联网能访问) , 然后我的 $redirect_uri 必须写成 www.a.com/xxxxxx 吗 , 但是我要在本地调试 , 本地我随便配置一个域名 local.com , 本地调试用户授权的时候 , $redirect_uri 能不能写成 local.com/xxxxxx ?

QQ图片20200620120303_看图王.jpg

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

ゝ杯具 2022-09-19 03:20:20

可以本地调试,但是绑定域名的时候要有公网环境。
例如已经有了公网环境,域名为abc.com
去微信公众平台配置好abc.com
修改本机host文件,将abc.com映射到本地127.0.0.1
这时候再打开微信开发者工具,就是访问的本地环境了。
需要调试微信接口什么的很方便,本地一改立马生效。

终止放荡 2022-09-19 03:20:20
  1. 基本上,没有哪里需要公网访问本地
  2. openid 需要服务器从微信处获取,所以你需要访问公网
勿忘初心 2022-09-19 03:20:20

不需要搭建任何外网服务器

  1. 授权回调页域名填写你本地 IP +端口即可,比如你的 HTTP 服务器是再8080端口,你的 IP 是 192.168.1.100,那你填写 192.168.1.100:8080即可
  2. 假设你的redirect_uri 是 http://192.168.1.100:8080/oauth/callback,微信授权完成后会回调到 http://192.168.1.100:8080/oauth/callback?code=xxx,你拿着 code 去微信服务器请求 access_token 即可
薆情海 2022-09-19 03:20:20

3种解决方法
1、自己使用 frp 搭建内网穿透环境,让外网 HTTP(S)直接请求到本地服务器资源;
2、修改/etc/hosts 文件(若在linux或 mac 之下),增加对应的虚拟域名映射和 nginx server 块的配置;
3、使用免费的 ngrok 内网穿透工具(很简洁),但是每次关掉 cli 界面之后会重新生成外网地址,并且还有请求数量的限制。

注意事项:可能需要 SSL 证书支持的话,可以使用一下 certbot 的免费证书。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文