收藏
回答

getUserInfo能力改变

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug button 客户端 6.6.6 1.9.90

官方发通知说,wx.getUserInfo在4月30日后,在体验版和测试版中,将不能弹出授权提示框,且该功能会被移除.

  1. 我想知道 我用button type为getUserInfo验证组件,之后再用wx.getUserInfo获取用户信息可以吗?

  2. 为什么非要用wx.getUserInfo,因为我要在button按钮点击后,wx.login一下,获取code,之后获取sessionKey,之后去解密加密的用户信息获取Unionid,请官方回答一下1。

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

68 个回答

  • 2018-04-26

     在bindgetphonenumber 等返回加密信息的回调中调用 wx.login 登录,可能会刷新登录态。此时服务器使用 code 换取的 sessionKey 不是加密时使用的 sessionKey,导致解密失败。建议开发者提前进行 login;或者在回调中先使用 checkSession 进行登录态检查,避免 login 刷新登录态。


    lz说的跟这个是一个道理吗?


    https://developers.weixin.qq.com/miniprogram/dev/component/button.html

    2018-04-26
    有用
    回复
  • 超哥[天啊][天啊][天啊]
    超哥[天啊][天啊][天啊]
    2018-04-26

    新用户进来,页面要马上显示用户信息,就得让用户点击两次,交互很不友好,不知道官方怎么想的

    2018-04-26
    有用
    回复
  • 超哥[天啊][天啊][天啊]
    超哥[天啊][天啊][天啊]
    2018-04-26

    我觉得现在改成BUTTON的形式,不就要让用户点两次,交互很不友好

    2018-04-26
    有用
    回复
  • 彬彬
    彬彬
    2018-04-26

    官方说getUserInfo和wx.login不需要耦合到底负不负责任?

    getUserInfo的encryptedData需要sessionKey去解密

    sessionKey不是通过code来的?

    每次登录页打开的时候都先执行一个wx.login(). 然后把code发给后端去换取sessionKey存起来, sessionKey也有过期时间的?


    而且button的getUserInfo怎么使用withCredentials参数了来保证获取的信息一定有encryptedData和iv?

    建议button的getUserInfo增加一个参数withCredentials直接连wx.login的code一起给回来, 并附上encryptedData和iv数据, 如果没这个参数就只给非隐私数据


    2018-04-26
    有用
    回复
  • 彬彬
    彬彬
    2018-04-26

    确实存在这样的问题

    建议button的getUserInfo直接自动执行一下wx.login, 并且连code一起给返回来.


    多应用下绑定用户关系是一定需要unionid的

    没有code就没有sessionKey, 没有sessionKey就拿不到unionid.

    2018-04-26
    有用
    回复
  • 袁鼎
    袁鼎
    2018-04-26

    我也是 button 中调用 wx.login 去获取的 sessionKey 解密失败,在点button一次又能解密成功。。。

    第一次 button 中的IV好像是用以前的sessionKey 加密的,在button里面调用了 wx.login就获取到新的sessionKey 所以解密失败。。

    第二次在点button 能成功,可能是button更新新的sessionKey,在调用wx.login 获取的还是这个sessionKey,可能在一段时间内调用wx.login获取的sessionKey不会有变化,所以能成功。。。


    这问题不知道怎么解决。。。

    2018-04-26
    有用
    回复
  • Hisoka.
    Hisoka.
    2018-04-26

    请问createUserInfoButton这个接口怎么把按钮显示出来啊,按照文档的例子,调用了button.show(),也看不到button


    2018-04-26
    有用
    回复
  • marvin
    marvin
    2018-04-26

    @陈龙 vConsole打印一下wx

    2018-04-26
    有用
    回复
  • 老杨
    老杨
    2018-04-26

     既然  拿取 图像 昵称 必须 弹 授权信息。 给出的理由是  怕用户觉得奇怪 怎么图像自动获取了。

     那么 

    <open-data type="userAvatarUrl"></open-data>

    不用授权就能直接显示  而数据不给平台。 难道用户就不觉得奇怪了么。



    2018-04-26
    有用
    回复
  • 新新新丶
    新新新丶
    2018-04-26

    其实我也是没管理sessionkey的,我们这里成功登陆了一次以后,就由我们的用户系统维护了,通过openid就能拿回User

    2018-04-26
    有用
    回复

正在加载...

登录 后发表内容