Zingsun
Zingsun
  • 发布:2025-03-13 11:08
  • 更新:2025-03-13 11:21
  • 阅读:313

[求助]uniapp打包安卓应用微信登录40029授权码失效-已解决

分类:uni-app

用Hbuilder打包成apk包安装到手机是可以正常微信授权登录的,如果是通过运行到手机模拟器则显示授权码无效,不知道什么原因,通过uni.login方式

uni.login({  
    "provider": "weixin",  
    "onlyAuthorize": true, // 微信登录仅请求授权认证  
    success: function(event){  
        const {code} = event  
        //客户端成功获取授权临时票据(code),向业务服务器发起登录请求。  
        uni.request({  
            url: 'https://www.example.com/loginByWeixin', //仅为示例,并非真实接口地址。  
            data: {  
                code: event.code  
            },  
            success: (res) => {  
                //获得token完成登录  
                uni.setStorageSync('token',res.token)  
            }  
        });  
    },  
    fail: function (err) {  
        // 登录授权失败  
        // err.code是错误码  
    }  
})  

运行到手机就提示40029,感觉授权码被消费过似的。但是打包成apk安装到手机就没有任何问题,说明后端、前端配置没有问题

已解决
真机模式分为标准和自定义基座,标准模式真机运行时用的Dcloud的证书,所以微信授权会有问题,先打包一个自定义基座,运行时选择自定义基座即可解决

2025-03-13 11:08 负责人:无 分享
已邀请:
飞翔的青蛙
  • Zingsun (作者)

    我试试自定义基座模式,因为真机模式分为标准和自定义,标准的话用的Dcloud的证书及签名,可能有问题。原来登录是把开放平台id和secret给前端,获取用户信息(onlyAuthorize设置成false),这样不是不安全么,所以改成true用授权码模式,真机测试用标准模式就会出现40029,我用自定义基座试一下

    2025-03-13 12:08

要回复问题请先登录注册