微擎联动的小程序本地测试获取获取用户信息失败

(因为csdn)

背景:

嗯嗯,就是获取open id的为null。看到开发这工具。

然后后面就卡在这里了,所以测试环境算是没有弄好。

解决过程:

1.只能说本地host以及vhost已经配置好一个ssl证书,具体这个不是我弄得,但是上网一查“本地如何获得ssl证书”,还是有教程的。(这个我不是专业的,请找适合自己接受程度的帖子学习,可能会更好吸收)。

2.小程序上的request域名,本地的域名是保证和线上后台设置的域名要一致,这个可是你自己设定的。作用就是只能允许该域名下的请求,别的小程序都会拒绝。

然后好像都没问题了。然后就去扒代码。

。。

。。。

。。。。。。。。。。。。。。。。。。。。。

第一步,查看network 请求的header请求地址,

看到地址我就应该想到微信app /source文件夹。(只有个文件夹是php文件还有一个是common文件也有,但是不是主要的业务逻辑代码。)

 看到这个然后对应找到 c=auth ,a=session ,do =openid。然后我就找到了auth/session.ctrl.php 

果然是有do参数 ‘openid’。然后请求的文件定位终于找到了。就是app/source/auth/session.ctrl.php 

然后就断点

是的就是getOauthInfo这个函数出问题,然后找那个函数的出来的文件,找个好几个,最后定位在framework/class/account/wxapp.account.class.php(其实多看文件名,wxapp就是小程序,account就是账号有关微信小程序账号逻辑代码可以这样理解)。

所以,你们觉得是什么问题?后来,不知怎么想的,想想“这个 requsetApi函数是不是普通的请求"?

然后就在相同的脚本文件找到它,然后测试了下。

 问题出来了,我想怎么现在的请求用的函数都要封装,搞到问题定位都麻烦。不过好像是和上面错误码函数连用的,我想说这压根和微信接口没问题好吗?纯属是本地环境问题。

然后“openssl”上网查了教程,直接php.ini是搜“openssl” “;extension=php_openssl.dll”将这个注释用的“;”给去了,保存重启。

总的说,原本对微信小程序用户信息获取逻辑的我,经过这次折腾,算是有点点长进。本地测试好了,就是方便,我才想,原来本地测试也能获取微信用户的信息,这个确实方便,以前一直以为一定要线上测试才可以,估计这个就是和开发者工具的是否校验ssl有关的吧。我在想如果每个人都用本地配置别人的请求域名,同时如果拿到请求的参数,那岂不是也能获取别人的用户数据?我觉得是不是应该将请求域名改为请求的IP才对。不过如果是这样,我们测试的就无法本地环境获取用户信息了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值