You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确验证Firebase Authentication的Token并解决verifyIdToken参数错误

错误根因

verifyIdToken 方法要求传入的参数是JWT格式的Firebase ID令牌,你错误传入了用户UID,二者是完全不同的两类凭证,因此触发解析失败报错。

修复步骤

  • 第一步:在React Native前端登录成功后,调用user对象的getIdToken()方法获取正确的ID令牌
    示例代码:
// 手机号OTP登录成功回调中获取ID令牌
const userCredential = await signInWithPhoneNumber(auth, confirmationResult, 你输入的OTP验证码);
const idToken = await userCredential.user.getIdToken();
// 后续将该idToken传给后端服务进行校验,不要传递UID
  • 第二步:后端拿到前端传递的idToken后,再调用verifyIdToken方法完成校验
    示例代码:
admin
    .auth()
    .verifyIdToken(idToken) // 这里传入前端返回的JWT格式ID令牌,不是UID
    .then((decodedToken) => {
        // 校验成功后可从decodedToken中获取用户uid、手机号等可信信息
        const uid = decodedToken.uid;
        console.log('decodedToken', decodedToken)
    })
    .catch((error) => {
        console.log('error', error)
    })

补充说明

如果仅做本地方法测试,直接复制前端获取到的完整idToken字符串作为参数即可,不要使用UID进行测试。

内容的提问来源于stack exchange,提问作者preston

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 19:06:00