微信公众平台,如何获取用户ID?
2022-12-21 · 百度认证:IT168官方账号,优质数码领域创作者
网页上不能直接获取,只能通过Oauth 2.0接口来获取。
但是该接口是属于高级接口,得需要给腾讯交钱的,而且只有服务号能享用。
对于订阅号来说,只能通过接口来获取。说白了,你能拿到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左右,让公司出钱买。