SingmyAaronLan
SingmyAaronLan
  • 发布:2023-07-13 10:02
  • 更新:2023-07-13 12:11
  • 阅读:212

QQ互联平台找不到uni-id config.json中app QQ登录所需的appsecret

分类:uniCloud

官方文档中给的config.json配置文件app段是这样的:

  "app": { // 如果你使用旧版本uni-id公共模块而不是uni-id-common这里可能配置的是app-plus,务必注意调整为app  
    "tokenExpiresIn": 2592000,  
    "tokenExpiresThreshold": 864000,  
    "oauth": {  
      // App微信登录所用到的appid、appsecret需要在微信开放平台获取,注意:不是公众平台而是开放平台  
      "weixin": {  
        "appid": "",  
        "appsecret": ""  
      },  
      // App QQ登录所用到的appid、appsecret需要在腾讯开放平台获取,注意:不是公众平台而是开放平台  
      "qq": {  
        "appid": "",  
        "appsecret": ""  
      },  
      "apple": { // 使用苹果登录时需要  
        "bundleId": ""  
      }  
    }  
  }

其中oauth.qq所需的appsecret在腾讯开放平台=>QQ互联中没有找到,只有appid和appkey


将appkey填入appsecret后调用uniIdCo.loginByQQ()会报错:
09:58:35.264 Error: 获取第三方账号失败 at pages/users/loginPg.vue:48

将appsecret项删除,调用uniIdCo.loginByQQ()也会报错:
09:42:32.785 Error: [uni-id-co]: Config param required: app.oauth.qq.appsecret at pages/users/loginPg.vue:48

2023-07-13 10:02 负责人:DCloud_uniCloud_CRL 分享
已邀请:
DCloud_uniCloud_CRL

DCloud_uniCloud_CRL

assessToken 传了吗?

你传的参数也发一下,注意脱敏哈

  • SingmyAaronLan (作者)

    之前没注意到uni.login返回的assessToken。。。。

    2023-07-13 12:11

  • SingmyAaronLan (作者)

    回复 2***@qq.com: 现在传了assessToken 好了。但是又出问题了。。

    2023-07-13 12:11

DCloud_uniCloud_CRL

DCloud_uniCloud_CRL

你看下云函数日志有错误信息吗?发一下

  • SingmyAaronLan (作者)

    [uni-id-co/ac1cd3741689219405413153678/135ms/ERROR] param access token is wrong or lost

    Error: param access token is wrong or lost

    at generateApiResult (/tmp/function/lib/third-party/qq/normalize.js:14:11)

    at callQQOpenApi (/tmp/function/lib/third-party/qq/normalize.js:73:5)

    at <anonymous>

    at process._tickCallback (internal/process/next_tick.js:189:7)

    请求响应状态: success

    2023-07-13 11:38

SingmyAaronLan

SingmyAaronLan (作者)

Error: The "url" argument must be of type string. Received undefined

unicloud控制台信息:

11:59:45.709 [本地调试][云对象:uni-id-co]调用方法:[loginByQQ],请求参数: {"accessToken":"***********","accessTokenExpired":7776000}   
11:59:45.929 [本地调试][云对象:uni-stat-receiver]调用方法:[report],请求参数: {"usv":"3.8.7","t":***********","requests":"[{\"ak\":\"__UNI__8AC7E16\",\"uuid\":\""***********"\",\"p\":\"a\",\"lt\":\"21\",\"ut\":\"n\",\"url\":\"pages/users/loginPg\",\"ch\":\"\",\"e_n\":\"login\",\"e_v\":\"\",\"usv\":\"3.8.7\",\"t\":"***********",\"ttn\":\"\",\"ttpj\":\"\",\"ttc\":\"\"}]"}  
11:59:46.337 [本地调试]TypeError [ERR_INVALID_ARG_TYPE]: The "url" argument must be of type string. Received undefined  
11:59:46.337 [本地调试]    at new NodeError (node:internal/errors:387:5)  
11:59:46.337 [本地调试]    at validateString (node:internal/validators:121:11)  
11:59:46.337 [本地调试]    at Url.parse (node:url:168:3)  
11:59:46.337 [本地调试]    at Object.urlParse [as parse] (node:url:155:13)  
11:59:46.337 [本地调试]    at de.global.__tempModuleExports.module.exports (E:\Projects\"***********"\uni_modules\uni-id-pages\uniCloud\cloudfunctions\uni-id-co\module\login\login-by-qq.js:123:25)  
11:59:46.337 [本地调试]    at runMicrotasks (<anonymous>)  
11:59:46.337 [本地调试]    at processTicksAndRejections (node:internal/process/task_queues:96:5)

这个是报错的代码段(云函数文件没改动过):(路径:uniCloud/cloudfunctions/uni-id-co/module/login/login-by-qq.js)

const url = require('url')  

...  

// eslint-disable-next-line n/no-deprecated-api  
const extName = url.parse(avatar).pathname.split('.').pop()  
const cloudPath = `user/avatar/${openid.slice(-8) + Date.now()}-avatar.${extName}`  
const getAvatarRes = await uniCloud.httpclient.request(avatar)
  • DCloud_uniCloud_CRL

    用户有头像吗?

    2023-07-13 13:14

  • SingmyAaronLan (作者)

    回复 DCloud_uniCloud_CRL: 这个是用uni.login之后用uni.getUserInfo获取到的用户信息示例 {

    "userInfo": {

    "ret": 0,

    "msg": "",

    "is_lost": 0,

    "nickname": "Aaron Lan",

    "gender": "男",

    "gender_type": 2,

    "province": "广东",

    "city": "深圳",

    "year": "1990",

    "constellation": "",

    "figureurl": "http://qzapp.qlogo.cn/qzapp/102059646/4D8A9A6C66AACC0B321D6C50B45FD3BE/30",

    "figureurl_1": "http://qzapp.qlogo.cn/qzapp/102059646/4D8A9A6C66AACC0B321D6C50B45FD3BE/50",

    "figureurl_2": "http://qzapp.qlogo.cn/qzapp/102059646/4D8A9A6C66AACC0B321D6C50B45FD3BE/100",

    "figureurl_qq_1": "http://thirdqq.qlogo.cn/g?b=oidb&k=wtiaSfQeNS4VMRnB5QLiccpw&kti=ZK-KMAAAAAE&s=40&t=1670512125",

    "figureurl_qq_2": "http://thirdqq.qlogo.cn/g?b=oidb&k=wtiaSfQeNS4VMRnB5QLiccpw&kti=ZK-KMAAAAAE&s=100&t=1670512125",

    "figureurl_qq": "http://thirdqq.qlogo.cn/g?b=oidb&k=wtiaSfQeNS4VMRnB5QLiccpw&kti=ZK-KMAAAAAE&s=640&t=1670512125",

    "figureurl_type": "1",

    "is_yellow_vip": "0",

    "vip": "0",

    "yellow_vip_level": "0",

    "level": "0",

    "is_yellow_year_vip": "0",

    "headimgurl": "http://qzapp.qlogo.cn/qzapp/102059646/4D8A9A6C66AACC0B321D6C50B45FD3BE/30",

    "unionid": "",

    "openId": "
    ",

    "nickName": "Aaron Lan",

    "avatarUrl": "http://qzapp.qlogo.cn/qzapp/102059646/4D8A9A6C66AACC0B321D6C50B45FD3BE/30"

    },

    "errMsg": "getUserInfo:ok"

    }

    2023-07-13 13:27

  • SingmyAaronLan (作者)

    回复 2***@qq.com: 都是有头像的

    2023-07-13 13:28

  • SingmyAaronLan (作者)

    回复 2***@qq.com: 调试了一下,应该是qqApi.getUserInfo()没获取到头像。。。不过也不太影响吧,还能用uni.getUserInfo()再获取


    const {  
    nickname,
    avatar
    } = await qqApi.getUserInfo({
    accessToken,
    openid
    })

    throw {
    errMsg: await qqApi.getUserInfo({
    accessToken,
    openid
    })
    }

    {"errMsg":{"nickname":"Aaron Lan","avatar":undefined}}

    2023-07-13 13:51

  • DCloud_uniCloud_CRL

    回复 2***@qq.com: 这块我修改了下,你更新下uni-id-pages,更新到1.1.15以上版本

    2023-07-13 14:38

要回复问题请先登录注册