uni-app 一键登录要求apikey但官方已经取消

发布于 1周前 作者 yuanlaile 来自 Uni-App

uni-app 一键登录要求apikey但官方已经取消

开发环境 版本号 项目创建方式
Windows win10 HBuilderX

操作步骤:

调用

const res = await uniCloud.getPhoneNumber({
provider: 'univerify',
appid: 'UNIFAED04E', // DCloud appid,不同于callFunction方式调用,使用云函数Url化需要传递DCloud appid参数
access_token: access_token,
openid: openid
})

预期结果:

可以正常返回


# 实际结果:


提示要提供apikey

bug描述:

调用

const res = await uniCloud.getPhoneNumber({
provider: 'univerify',
appid: 'UNIFAED04E', // DCloud appid,不同于callFunction方式调用,使用云函数Url化需要传递DCloud appid参数
access_token: access_token,
openid: openid
})

提示要提供apikey


7 回复

连的云端云函数吗?重新上传一下看看?


我也碰到这个问题,随便传提示别的错,是什么鬼啊,新的账号后台也没有apiKey了啊

正常不需要传key了,相应的服务空间开通、账户下有钱即可

我在使用 uni-id用户体系也碰到这个问题了,官方文档云端配置config.json的说明里service.univerify下只有appid,没有apiKey了,但跑一键登录时还会弹窗提示[uni-id-io]: Missing config param: service.univerify.apiKey。请问该怎么解决?我不用uni-id,自己写的一键登录就能正常运行。

重新上传了一下uni-id-io就好了

如下插件需要升级后才不会检查apiKey、apiSecret必填,如果使用uni-id公共模块需要更新到3.3.31版本,如果使用uni-id-pages需要更新到1.1.17版本,如果使用了uni-starter需要更新到2.1.6版本

uni-app 中,一键登录功能通常依赖于第三方服务提供商的 API,例如阿里云、腾讯云、或其他身份验证服务。如果你提到的 apikey 是指这些第三方服务提供商的 API 密钥,而官方已经取消了对 apikey 的支持,那么你可能需要采取以下步骤来解决问题:

1. 确认官方文档

首先,确保你查阅了 uni-app 官方文档和相关服务提供商的文档,了解最新的接口要求和配置方式。官方文档通常会提供最新的集成指南和配置说明。

2. 使用新的认证方式

如果服务提供商已经取消了 apikey 的认证方式,可能已经引入了新的认证机制,例如 OAuth 2.0、JWT 等。你需要按照新的认证流程进行配置。

3. 联系服务提供商

如果你无法找到相关的文档或配置说明,建议直接联系服务提供商的客服或技术支持,获取最新的集成指南。

4. 使用其他服务

如果你无法解决当前服务的问题,可以考虑使用其他支持 uni-app 的一键登录服务。uni-app 支持多种第三方登录方式,例如微信登录、QQ 登录、Apple 登录等。

5. 自定义登录功能

如果第三方服务无法满足你的需求,你可以考虑自定义登录功能,例如通过短信验证码、邮箱验证等方式实现用户登录。

示例:使用短信验证码登录

以下是一个简单的短信验证码登录的示例代码:

// 发送短信验证码
function sendSmsCode(phoneNumber) {
    uni.request({
        url: 'https://your-api-endpoint/send-sms',
        method: 'POST',
        data: {
            phone: phoneNumber
        },
        success: (res) => {
            console.log('短信验证码发送成功', res.data);
        },
        fail: (err) => {
            console.error('短信验证码发送失败', err);
        }
    });
}

// 验证短信验证码
function verifySmsCode(phoneNumber, code) {
    uni.request({
        url: 'https://your-api-endpoint/verify-sms',
        method: 'POST',
        data: {
            phone: phoneNumber,
            code: code
        },
        success: (res) => {
            console.log('短信验证码验证成功', res.data);
            // 登录成功后的操作
        },
        fail: (err) => {
            console.error('短信验证码验证失败', err);
        }
    });
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!