收藏
回答

用户已授权登录过小程序,下次可以直接通过 code 换取到 UnionID 么?

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.login 客户端 不限 不限

RT, 如果用户已经授权登录过小程序A(已绑定到开放平台),下次可以直接通过 code2Session 换取到该用户在小程序A中的 UnionID 么?


文档中描述如下,

如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用。开发者也可以直接通过 wx.login + code2Session 获取到该用户 UnionID ,无须用户再次授权。

没有提及小程序。


现在实际遇到的情况是:

小程序A已绑定到开放平台,用户首次通过主动授权登录了小程序A;一段时间后,当用户再次进入小程序A时,直接通过 code2Session 无法获取到 UnionID

最后一次编辑于  03-04  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

  • 拾忆
    拾忆
    03-04

    第一次授权的时候就直接把openid和UnionID都获取到了,两者的对应关系也有了,那以后有没有登陆只要有openid,自己去数据库匹配就好了,还要通过微信干啥?

    03-04
    赞同 1
    回复 2
    • Recluse
      Recluse
      03-04

      由于 UnionID 在开放平台下全局唯一,我们的产品也覆盖了平台下的多个端,所以当时就以 UnionID 为核心条件来查询用户记录了,仅在 UnionID 字段上建了索引。感觉,也不能在每一个端的 OpenID 字段上都建索引吧。基于此,才希望能优先获取到 UnionID 的。

      03-04
      回复
    • 六点水的凹凸曼
      六点水的凹凸曼
      03-05回复Recluse

      openId就根本不用吗?我记得要关注公众号才能直接login获取到unionId,授权了的话要用getuserinfo去获取。

      03-05
      回复
  • 铭锋科技
    铭锋科技
    03-04

    必须是同一主体,开放平台主体 = 小程序主体

    03-04
    赞同
    回复 1
    • Recluse
      Recluse
      03-04

      是的,是同一主体。

      03-04
      回复