收藏
回答

小程序授权同一微信支持多个手机号,如何进行限制?

如图,本人在开发小程序授权过程中,突然发现微信授权窗口可以切换手机号码,切换之后,后端换取的openId始终是唯一的,但是授权获取的手机号码却不是此微信的手机号码?

我们的业务以手机号为主账号,前端调用getPhoneNumber和wx.login提交数据给后端.

后端根据换取openId官方接口返回的sessionKey解密手机号码信息,以该手机号码作为登录账号.

微信授权支持多手机号切换后,我们后台出现了一个手机号两个账号的情况,对应不同的openId,请问有什么办法可以限制微信授权切换手机号?

回答关注问题邀请回答
收藏

1 个回答

  • 阿北
    阿北
    2021-01-22

    你们在设计这套业务中是有问题的,简单来说,你们应该用当前小程序中唯一的openid作为一个用户的标准,既然使用了手机号登录,那就表明了可以在这上面一个微信两个不同的人登录,你们这种情况一般还会有手动输入手机号登录,而市面上一般只有获取头像昵称绑定手机号操作,所以你提出的不是一个问题,只是你们的设计逻辑出现了问题,建议和产品经理沟通一下

    2021-01-22
    有用
    回复 4
    • 豪
      2021-01-22
      嗯,问题确实是这样,此前我记得微信授权是不能切换手机号的,现在推出这个可能就是想让开发以小程序openId为用户标识代替手机号码,可问题是小程序内调起充值的时候,如果授权的手机号和此微信的手机号不一致,微信会提示无法充值的,这不是自相矛盾了吗?
      2021-01-22
      回复
    • 豪
      2021-01-22
      可能微信希望小程序的用户和APP一样,是新用户,我们只希望小程序能根据微信绑定的手机号快速登录到APP的用户.
      2021-01-22
      回复
    • 阿北
      阿北
      2021-01-22回复
      充值模块和登录模块是分开来的,登录模块本身就不考虑充值的问题,但是充值模块有风控,导致不同手机可能会出现问题。我们以前也有用户出现过支付时风险提示啥的,当时让用户按照上面提示进行解决。建议你们在登录界面提示“登录请使用绑定微信的手机号,否则将可能出现问题”之类的,反正就是引导
      2021-01-22
      回复
    • 豪
      2021-01-22回复阿北
      查了相关api,也就getPhoneNum可用了,也只能引导了
      2021-01-22
      回复
登录 后发表内容
问题标签