小程序授权登录失败修复|授权弹窗不显示解决步骤
2026-07-16 17:44 · 技术洞察
小程序授权登录功能出现故障时,用户无法正常使用核心服务,开发者后台数据也会中断。本文针对最常见的“授权弹窗不显示”和“授权后登录失败”两类问题,提供一套从基础排查到代码级修复的完整方案。
## 前置准备
- **开发工具**:微信开发者工具(稳定版,建议1.06以上版本)
- **真机设备**:至少1台Android手机和1台iPhone(部分问题仅在真机复现)
- **账号权限**:小程序AppID对应的开发者权限,以及微信开放平台账号(若涉及unionid)
- **调试工具**:Charles或Whistle抓包工具(可选,用于排查网络请求)
- **代码仓库**:确保当前小程序代码可拉取到本地,且能正常编译运行
## 分步操作步骤
### 1. 检查基础配置与权限声明
**1.1 确认app.json中已配置所需权限**
打开项目根目录下的`app.json`文件,检查是否包含以下关键权限声明:
```json
{
"permission": {
"scope.userInfo": {
"desc": "用于完善用户资料"
},
"scope.userLocation": {
"desc": "用于获取位置信息"
}
},
"requiredPrivateInfos": ["getLocation"]
}
```
注意:`scope.userInfo`是授权登录的基础权限,缺少该配置会导致授权弹窗无法弹出。
**1.2 检查微信开放平台绑定状态**
登录微信公众平台(mp.weixin.qq.com),进入「开发」-「开发管理」-「接口设置」。确认「获取用户信息」接口状态为“已启用”。若显示“未开通”,点击“开通”按钮,按提示完成认证。
**1.3 验证AppID与项目匹配**
在微信开发者工具中,点击顶部菜单「详情」-「基本信息」,核对「AppID」是否与公众平台注册的小程序AppID一致。使用测试号或错误AppID会导致授权接口返回失败。
### 2. 修复授权弹窗不显示问题
**2.1 替换过时的wx.getUserInfo调用**
自2021年4月起,微信不再支持直接通过`wx.getUserInfo`弹出授权弹窗。必须改用`