收藏
回答

encryptedData存在的意义

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 需求 wx.getUserInfo 客户端 6.6.6 1.9.0

wx.getUserInfo 接口会返回userInfo用户信息对象,不包含 openid 等敏感信息),encryptedData(包括敏感数据在内的完整用户信息的加密数据),rawData,signature,iv。


我的问题是userinfo里已经有了用户的基本信息,除了openId和unionid,做登录必定要请求

https://api.weixin.qq.com/sns/jscode2session 获取session_key,同时这里面也包含了openId和unionid那么为什么还要有encryptedData?还要麻烦给他解密。为什么要存在encryptedData?适用的场景是什么?


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

3 个回答

  • Lyt8384
    Lyt8384
    2018-05-04

    因为userinfo是没加密的。而没加密的数据是不安全也是不可信的。尤其是从前端需要通过接口传递给后端的。

    例如你的程序里,是使用userinfo做记录并显示在列表里。。我捕获了这个接口。把名字改成 管理员 然后你那看到的就是管理员。。而不是我真实的昵称了

    2018-05-04
    有用
    回复
  • 2018-05-03

    @祺爸🍭 微信官方没说要废除wx.getUserInfo吧,只是说不能直接调用,第一次要用组件<button>的方式,授权后还是可以用这个接口的,用wx.getSetting判断,如果授权过可以直接掉wx.getUserInfo。

    我的问题是为什么大家获取用户信息都是用wx.getUserInfo 返回的encryptedData进行解密,而不直接用userInfo不加密的数据?

    2018-05-03
    有用
    回复
  • 祺爸💎
    祺爸💎
    2018-05-03

    wx.getUserInfo接口即将不可用

    2018-05-03
    有用
    回复
登录 后发表内容