wx.getUserInfo 接口会返回userInfo(用户信息对象,不包含 openid 等敏感信息),encryptedData(包括敏感数据在内的完整用户信息的加密数据),rawData,signature,iv。
我的问题是userinfo里已经有了用户的基本信息,除了openId和unionid,做登录必定要请求
https://api.weixin.qq.com/sns/jscode2session 获取session_key,同时这里面也包含了openId和unionid那么为什么还要有encryptedData?还要麻烦给他解密。为什么要存在encryptedData?适用的场景是什么?
因为userinfo是没加密的。而没加密的数据是不安全也是不可信的。尤其是从前端需要通过接口传递给后端的。
例如你的程序里,是使用userinfo做记录并显示在列表里。。我捕获了这个接口。把名字改成 管理员 然后你那看到的就是管理员。。而不是我真实的昵称了
@祺爸🍭 微信官方没说要废除wx.getUserInfo吧,只是说不能直接调用,第一次要用组件<button>的方式,授权后还是可以用这个接口的,用wx.getSetting判断,如果授权过可以直接掉wx.getUserInfo。
我的问题是为什么大家获取用户信息都是用wx.getUserInfo 返回的encryptedData进行解密,而不直接用userInfo不加密的数据?
wx.getUserInfo接口即将不可用