微信公众号客户端与网页端如何识别用户?openid的不同的解决方案各有哪些?
同一个用户在客户端的openid 好像和网页端获取的openid是不同的,看的比较通用的做法是申请开放平台账号,
但是我做的这个是要给几个客户用的,他们没有开发者账号,我看很多客户端联动网页端的公众号程序也没有要求用户申请开发者账号,所以比较困惑:
1自己的开发者账号,可以给不同公众号授权使用然后获取用户唯一ID吗?
2如果不能给别人用,那人家一般是怎么解决这个问题的呢?
3是否可以通过用户的备注名设置自己的唯一id ,然后通过客户端,和网页端获取用户信息,然后通过备注名来识别用户?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
并未接触微信公众号开发,回答稍有延误,敬请理解
0x01. 微信公众号的网页端如何识别用户?
为了识别用户,每个用户针对每个公众号会产生一个安全的
OpenID
,在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID
是唯一的。对于不同公众号,同一用户的openid
不同)。公众号可通过本接口来根据OpenID
获取用户基本信息,包括昵称、头像、性别、所在城市、语言和关注时间。通过
penID
来获取用户基本信息。特别需要注意的是,如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的unionid
是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid
是相同的。0x02. openid 的不同解决方案有哪些?
这个应该是题意,用户的
unionid
是唯一0x03. 自己的开发者账号,可以给不同公众号授权使用然后获取用户唯一ID吗?
可以的,如果需要在多公众号、移动应用之间做用户共通,则需前往微信开放平台,将这些公众号和应用绑定到一个开放平台账号下,绑定后,一个用户虽然对多个公众号和应用有多个不同的
OpenID
,但他对所有这些同一开放平台账号下的公众号和应用,只有一个UnionID
,可以在用户管理-获取用户基本信息(UnionID机制。0x04. 如果不能给别人用,那人家一般是怎么解决这个问题的呢?
别人是谁?人家是哪一家? 人家都是哪样紫嘛?
0x05. 是否可以通过用户的备注名设置自己的唯一id ,然后通过客户端,和网页端获取用户信息,然后通过备注名来识别用户?
用
unionid
识别用户就可以了你把授权的接口写成一个通用接口,每个项目都可以调用,判断你获取到的openid是否是真实的,可以使用https://mp.weixin.qq.com/wiki... 这种方式来确认