uni-app使用uni-id-pages时,微信一键登录功能失效,显示获取第三方账号失败

uni-app使用uni-id-pages时,微信一键登录功能失效,显示获取第三方账号失败

使用uni-id-pages,无法微信一键登录,显示获取第三方账号失败
可以获取到登录所需要的code,但是登录不进去

app.vue引入了uni-id-pages
config.json的appid和appsecret配置正确,微信小程序已配置request,download,upload合法域名

使用阿里云服务器

uni-id-co日志两篇如下所示,说是ip不在白名单,但是登录的时候为什么要ip白名单,那岂不是来个人登录都要配置吗

[uni-id-co/ac1cd36d1713085255879146265/411ms/ERROR] invalid ip 39.98.69.34 ipv6 ::ffff:39.98.69.34, not in whitelist, rid: 661b9b4b-02b64af2-49c6f600
Error: invalid ip 39.98.69.34 ipv6 ::ffff:39.98.69.34, not in whitelist, rid: 661b9b4b-02b64af2-49c6f600
at generateApiResult (/tmp/function/lib/third-party/weixin/normalize.js:10:11)
at callWxOpenApi (/tmp/function/lib/third-party/weixin/normalize.js:73:5)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:189:7)

[uni-id-co/ac1cd3621713086005955101443/286ms/ERROR] invalid ip 47.92.199.143 ipv6 ::ffff:47.92.199.143, not in whitelist, rid: 661b9e39-4cbffe54-54af5147
Error: invalid ip 47.92.199.143 ipv6 ::ffff:47.92.199.143, not in whitelist, rid: 661b9e39-4cbffe54-54af5147
at generateApiResult (/tmp/function/lib/third-party/weixin/normalize.js:10:11)
at callWxOpenApi (/tmp/function/lib/third-party/weixin/normalize.js:73:5)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:189:7)

image

image


更多关于uni-app使用uni-id-pages时,微信一键登录功能失效,显示获取第三方账号失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

你的微信小程序后台开启了校验ip吧,是一定要开吗?

更多关于uni-app使用uni-id-pages时,微信一键登录功能失效,显示获取第三方账号失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html


请问这个问题解决了吗?

在使用 uni-appuni-id-pages 进行微信一键登录时,如果出现“获取第三方账号失败”的错误,通常可能是由于以下几个原因导致的。你可以根据以下步骤进行排查和解决:


1. 检查微信开放平台配置

  • 确保你已经在微信开放平台注册了应用,并获取了 AppIDAppSecret
  • uni-id-pages 的配置文件中(通常是 uni-id/config.jsonuni-id/uni-config-center/uni-id/config.json),正确填写微信的 AppIDAppSecret
  • 确保微信开放平台中配置的 授权回调域 与你的应用域名一致。例如,如果你的应用域名是 https://example.com,回调域需要配置为 example.com

2. 检查 HBuilderX 配置

  • HBuilderX 中,打开项目的 manifest.json 文件,确保已经正确配置了微信登录的相关信息:
    • appid:填写微信开放平台的 AppID
    • universalLinks:填写应用对应的 universalLinks(iOS 需要)。
  • 确保 manifest.json 中的 微信登录 功能已启用。

3. 检查服务器配置

  • 确保你的服务器能够正常访问微信的 API 接口。
  • 如果使用的是云函数,检查云函数是否正常运行,是否有权限调用微信的接口。
  • 检查 uni-id-pages 的云函数配置是否正确,尤其是 uni-id 的配置文件。

4. 检查代码逻辑

  • 确保在调用微信登录时,使用了正确的方法。例如:
    uni.login({
      provider: 'weixin',
      success: (res) => {
        console.log('微信登录成功', res);
      },
      fail: (err) => {
        console.error('微信登录失败', err);
      }
    });
    
  • 检查是否有其他代码逻辑影响了微信登录流程。

5. 检查网络环境

  • 确保设备能够正常访问微信的服务器。
  • 如果是本地调试,确保本地服务器支持 HTTPS(微信登录需要 HTTPS 环境)。

6. 检查微信版本和设备

  • 确保用户的微信版本是最新的。
  • 如果是 iOS 设备,检查是否配置了 universalLinks,并确保设备支持。

7. 查看日志

  • HBuilderX 中查看控制台日志,获取更详细的错误信息。
  • 如果是云函数,查看云函数日志,检查是否有异常。

8. 更新 uni-id-pages

  • 确保你使用的是最新版本的 uni-id-pages。可以通过以下命令更新:
    npm install uni-id-pages@latest
回到顶部