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

如何从Firebase ID Token中移除phone_number、email字段?

Firebase ID Token隐藏phone_number/email字段的实现方案

Firebase官方签发的标准ID Token(客户端SDK获取的那种)由Google服务器签名,内置的核心身份字段(如phone_number、email)无法直接修改或移除——这是Auth服务的默认机制,任何篡改都会导致Token验证失败。以下是两种可行的替代方案:

方案1:自行签发精简版自定义Token

通过Firebase Admin SDK生成基础自定义Token后,用自有密钥签发完全可控的JWT:

  • 调用createCustomToken(uid)生成仅包含用户UID的基础自定义Token
  • 在后端服务器验证该Token,获取完整用户信息(此步骤仅在服务端执行,不对外暴露敏感字段)
  • 使用JWT库(如jsonwebtoken)和自有密钥,生成仅包含你所需字段(如UID、自定义Claims)的新Token返回给客户端

方案2:服务端中转过滤字段

借助Firebase自定义Claims,在后端做一层信息筛选:

  • 提前通过setCustomUserClaims()为用户添加你需要的自定义字段
  • 客户端将标准ID Token发送到你的后端服务器
  • 用verifyIdToken()解码Token后,仅提取允许对外暴露的字段(如UID、自定义Claims),封装成轻量对象或简化Token返回给客户端

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 19:27:32