openid什么意思:微信用户唯一标识

openid什么意思,它是微信开放平台分配给用户在同一个应用内的固定身份编号,一串长度28位左右的字符串,一个微信用户在不同微信应用会拿到不同openid,同一个应用内无论何时登录,返回的openid保持不变,适合公众号、小程序、微信网页授权场景用来识别用户,不能直接用来跨应用打通账号,适合有微信开发、后台会员绑定需求的开发者,普通微信用户日常使用时不会直接接触这个字段。

openid与unionid的区分

标识绑定范围获取门槛适用场景
openid单个微信应用低,基础授权即可拿到小程序单独会员、公众号私信记录
unionid同一开放平台主体下全部应用需要绑定微信开放平台公众号小程序账号互通

openid只在单个AppID下生效,小程序有独立AppID,公众号也有独立AppID,就算是同一个主体,两个应用拿到的openid互不相同。如果你只是做一个独立小程序,只用openid就足够标记用户;如果你的业务同时运营公众号、小程序、微信网页,想要把同一个人的数据合并,就需要启用unionid。

普通用户看不到openid。

openid的获取方式

你调用微信网页授权接口、小程序wx.login接口,拿到临时code,再用服务端携带AppID和AppSecret向微信服务器发起请求,微信校验通过后返回openid。这个过程必须放在后端完成,前端不能直接存放AppSecret,一旦密钥泄露,第三方可以冒充你的应用批量拉取用户openid,带来数据风险。前端只能拿到code,code单次有效,短时间内未使用就会失效。

openid不携带昵称、头像、手机号,它本身只是身份索引。拿到openid之后,你可以再引导用户授权基础信息,拿到头像昵称;手机号需要单独的手机号授权组件,不会随openid一同下发。很多新手会误以为拿到openid就能直接获取全部用户信息,跳过二次授权,这类操作无法实现,微信的权限拆分机制会限制信息读取范围。

openid的使用限制

openid不属于用户隐私明文,但微信对它的流转有约束,你不能把openid直接对外公开,也不能把openid作为对外展示给用户的账号。微信开放平台的接口规范里,禁止把openid用于微信生态之外的身份校验,不能拿它直接登录非微信站点。第三方也无法仅凭openid反向查到对应的微信账号,它不支持反向解析。

openid不会随用户修改微信昵称、头像而变化,用户解绑授权、取消公众号关注,也不会改变这条记录本身的值,只是你的应用后续无法再通过接口获取该用户更多信息。只要应用AppID不变,用户没有更换微信账号,openid可以长期稳定复用,适合用来做会员绑定、订单关联、消息推送的关联主键。

openid只能在微信生态接口体系内使用。

openid的业务实操建议

你在数据库存储openid时,建议单独建立字段,不要直接用openid做主键,搭配自增主键管理会员,降低后续迁移成本。在做用户登录逻辑时,优先判断数据库内是否已经存在这条openid,存在则直接登录,不存在再新建会员记录。业务迭代更换开放平台主体时,原有openid会全部失效,需要提前规划账号迁移方案,避免老用户无法登录。

当你的业务只需要区分用户、不需要跨端合并数据,优先选择openid,开发链路更短,配置更少。如果后期计划扩充多端微信产品,可以提前在开放平台绑定应用,预留unionid的读取逻辑,不用重构整套会员体系。

敬慕百科汇集百科知识与游戏文化,带你发现世界的每一个精彩角落。

想要了解更多关于openid什么意思的文章欢迎访问:百科