很多开发者在微信小程序授权获取用户手机号,经常出现授权失败获取不到手机号的问题,正常小程序调用getuserinfo接口拿到encryptedData,iv,然后给服务端 4.服务端拿到客户端的encryptedData,vi还有之前的sessionKe

很多开发者在微信小程序授权获取用户手机号,经常出现授权失败获取不到手机号的问题,正常小程序调用getuserinfo接口拿到encryptedData,iv,然后给服务端 4.服务端拿到客户端的encryptedData,vi还有之前的sessionKey去解密得到 unionId等用户信息 注意:客户端上传的encryptedData需要encodeURIComponent方法进行URL编码,对应服务端需要URL解码 小程序,解决方法如下:
1、前端对encodeURIComponent(encryptedData)对encryptedData进行URL编码
async getPhoneNumber(e){
var __that = this
var iv = e.$wx.detail.iv;
var encryptedData = e.$wx.detail.encryptedData;
wx.login({
success:async function(res){
const getUserPhones = await getUserPhone2({
code: res.code,
iv: iv,
encryptedData: encodeURIComponent(encryptedData),
sharePhone: __that.sharePhone,
})
if(getUserPhones.data.code==200){
wepy.wx.setStorage({
key:"phone",
data:getUserPhones.data.data
})
__that.phone = getUserPhones.data.data
}else{
wepy.wx.showModal({
title: '提示',
content: '网络错误,授权失败,请重试'
})
}
}
})
}2、后端使用urldecode()函数对encryptedData解码
$encryptedData=urldecode($_GET["encryptedData"]);
织梦狗教程
本文标题为:解决微信小程序授权获取手机号后出现-41003: aes 加密数据解密失败问题
基础教程推荐
猜你喜欢
- IOS应用内跳转系统设置相关界面的方法 2022-11-20
- iOS开发教程之XLForm的基本使用方法 2023-05-01
- android studio按钮监听的5种方法实例详解 2023-01-12
- 解决Android Studio突然不显示logcat日志的问题 2023-02-04
- IOS 播放系统提示音使用总结(AudioToolbox) 2023-03-01
- Flutter手势密码的实现示例(附demo) 2023-04-11
- Android开发使用RecyclerView添加点击事件实例详解 2023-06-15
- Android中的webview监听每次URL变化实例 2023-01-23
- Android多返回栈技术 2023-04-15
- Flutter绘图组件之CustomPaint使用详解 2023-05-12
