报错截图或相关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)
});
})
},
复现步骤