l***@sina.com
l***@sina.com
  • 发布:2025-09-10 16:09
  • 更新:2025-09-10 16:27
  • 阅读:34

【报Bug】小程序端 button 获取用户信息(getuserinfo)在签名失效后首次获取到的签名为已经失效的签名(signature)

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 家庭中文版

HBuilderX类型: 正式

HBuilderX版本号: 4.76

第三方开发者工具版本号: 1.06.2504030

基础库版本号: 3.9.3

项目创建方式: HBuilderX

示例代码:

   bindGetUserInfo(e) {  
    let userInfo = e ? e.detail : '';  
    console.log(userInfo );  
}```

操作步骤:

在登录注册账号后,第二天(或待到签名超时后)首次前往登录请求获取用户信息获取到的签名signature值为超时失效的签名值。在后续获取到的signature值就为更新后的有效签名值。

附件为在签名失效后的两次登录请求实例,第一次登录时获取到的签名为已经超时的失效签名请求登录接口导致登录失败,后续再次点击登录获取到的为更新后的有效签名值然后登录成功。后续在多次退出登录后获取到的签名值都为当前有效期内的新签名。

预期结果:

在每次请求获取用户信息获取到的签名signature值都为有效签名值,并在签名过期后获取到的签名值为新的有效签名值而不是获取一次超时的签名值之后再获取新签名值

实际结果:

在上一个签名signature值过期后,首次获取到的签名signature值为过期的signature值导致登录失败,但在后续新签名有效期内获取的签名才为有效签名

bug描述:

在与后端多日的比对查找bug时观察到:使用<button open-type="getUserInfo" @getuserinfo="bindGetUserInfo"> 获取签名 </button>获取签名signature时首次必定会获取到已经超时的签名参数。在首次获取到失效的签名signature后并且在新签名有效期内,每次获取到的签名signature都为正确的。

在原生小程序<button type="primary" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo"> 获取签名 </button>中不会出现此情况

2025-09-10 16:09 负责人:无 分享
已邀请:
DCloud_UNI_JBB

DCloud_UNI_JBB

试试用 wx.getUserInfo 获取 userinfo

  • l***@sina.com (作者)

    好的,我试试,看一下后续测试情况。那getuserinfo是否真实存在这种情况。

    2025-09-10 16:36

  • DCloud_UNI_JBB

    回复 l***@sina.com: 这个我暂时不方便验证,后续会看下

    2025-09-10 16:37

  • l***@sina.com (作者)

    回复 DCloud_UNI_JBB: 好的

    2025-09-10 16:40

要回复问题请先登录注册