php 微信小程序获取手机号, 服务器端解密有时成功,有时-41001,这是为什么

php 微信小程序获取手机号, 服务器端解密有时成功,有时-41001,这是为什么,第1张

是这个错误吗

"errcode": 40001,

"errmsg": "invalid credential, access_token is invalid or not latest hint: [iGyDwA0217vr35!]"

这是说access_token无效,得重新获取,再次请求就可以了。

大致的思路是这样的:

通过微信的开放API获取到二维码,当然自己生成也是可以的

用户扫描二维码后进入到一个连接下,这个连接中的代码是使用开放API获取用户个人信息

只要去请求开放API的获取个人信息接口,微信或自动跳转到让用户授权给你的微信公众号的界面,用户授权以后你就可以显示他的个人信息了

网页上不能直接获取,只能通过Oauth 20接口来获取。

但是该接口是属于高级接口,得需要给腾讯交钱的,而且只有服务号能享用。

对于订阅号来说,只能通过接口来获取。说白了,你能拿到OpenID的Session,是你服务器和微信服务器之间的Session,不是和客户之间的Session。

你接到用户发来的信息后,可以在24小时内给用户回复信息,无论是图文信息还是文字信息,都可以加入链接。此时,你可以将OpenID构造到URL里发给用户。当用户点击后,你和客户之间的Session就可以获取到他的OpenID。

因为你和客户之间的OpenID是明文满天飞,这里面要注意这么几个安全性问题:

1、发图文块的时候,要发两条信息,单条是可以被转发的,两条的话,用户就无法转发,只能删除了。避免用户将自己的OpenID泄露。

2、用户点击图文块的那张页面进去后,要隐藏右上角的分享图标。

3、要判断浏览器的UserAgent是否来自于MicroMessage

4、如果目标页面需要分享,要构造一个Form表单,用POST的方式将OpenID传过去。

5、实际项目经验中,需要对传来的参数拼在一起,做一下SHA1签名认证。

6、服务器能用SSL,就尽量用SSL,证书也不贵,大概也就3000-5000左右,让公司出钱买。

以上就是关于php 微信小程序获取手机号, 服务器端解密有时成功,有时-41001,这是为什么全部的内容,包括:php 微信小程序获取手机号, 服务器端解密有时成功,有时-41001,这是为什么、php怎么实现微信扫码后直接获取个人信息、怎么在网页程序里获取微信的唯一标识等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9312233.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存