字节小程序
开发者社区
小程序小游戏
登录
获取用户手机号-无法解析encryptedData的问题

获取用户手机号-无法解析encryptedData的问题

456浏览作者: miaofang

代码片段ID:

问题模块: API或组件

问题类型: BUG

API或组件名称: 获取用户手机号

终端类型: 开发者工具,客户端

App及版本号: 8.4.8

基础库版本: System:Android 9


报错截图或相关BUG

界面上获取手机号码按钮点击时候,小程序端先通过调用封装的tt.login获取code。 然后将encryptedData  iv和code传至我们自己服务器,
我们服务器将通过code和appid以及appsecret在字节跳动小程序请求获得sessionkey和openid。
再成功获取sessionkey后在php后台调用下面接口解密获取电话号码失败,为空
后台解密代码:

$data=openssl_decrypt(base64_decode($encryptedData,true), 'AES-128-CBC', base64_decode($sessionKey), OPENSSL_RAW_DATA, base64_decode($iv));

小程序前端代码:
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumberHandler">获取手机号码</button>
getPhoneNumberHandler(e) {
console.log("e:",e);
console.log(e.detail.errMsg);
console.log(e.detail.iv);
console.log(e.detail.encryptedData);
util.tttLogin().then(function (res) {
console.log("ttLogin res:", res)
util.getUserPhoneAsyn(e.detail.encryptedData, e.detail.iv, res.code)
.then(function (res) {
console.log("phone res:", res)
});
})
},


复现步骤

最后一次编辑于 2021年10月29日
加载中