002-微信公众号OPENID是什么

先弄明白以下概念:

  • 微信开发者账号 —— 用来登录微信开发者平台的账号
  • 微信应用 —— 同一账号可以在微信开发者平台申请多个应用,假设我们在开发知乎,我们会在微信开发者后台申请两个应用,分别是『知乎网站』和『知乎App』
  • 微信用户 —— 一般理解下的微信用户,假设我们有微信用户 summer 作为测试。

场景说明:

  • Summer 在『知乎网站』使用微信登录后,会获取到 OpenID 值为 o6_bmjrPTlm6_2sgVt7hMZOPfL2M 和 UnionID o6_bmasdasdsad6_2sgVt7hMZOPfL
  • Summer 在『知乎App』使用微信登录后,会获取到 OpenID 值为 o6_bmjrPTlm6_2sgVt7hMZOPfXXX 和 UnionID o6_bmasdasdsad6_2sgVt7hMZOPfL
  • 两个应用中,退出登录后重新使用微信登录,获取的 OpenID 和 UnionID 值都与第一次的值一致。

解释:

  • OpenID 是最对『微信应用』的用户唯一值,同一个『微信开发者账号』下的不同应用中,使用同一个『微信用户』登录,此值会不一样;
  • UnionID 是针对『微信开发者账号』的用户唯一值,同一个『微信开发者账号』下的不同应用中,使用同一个『微信用户』登录,此值是一致的。

结论:

如果你在开发网站的微信登录,请数据库里记录 UnionID ,并使用 UnionID 来区分微信用户。如果你不这么做,假如后面网站新增了一个允许微信登录的 App 时,你将无法辨别用户。

扩展链接

openid百度百科

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容