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

如何获取Authorization及Token URL?Firebase稳定用户ID获取问题

关于Authorization、Token URL获取及Firebase用户ID稳定性的解决方案

嘿,我来帮你梳理这两个问题的解决方案,都是开发中实际踩过的坑,应该能帮到你:

一、如何获取Authorization和Token URL?

这俩参数完全取决于你用的身份认证服务,我分最常见的两种情况给你说:

  • 如果是用Firebase Auth:
    • Token URL:Firebase官方的Token端点是https://securetoken.googleapis.com/v1/token,你也可以去Firebase控制台的「项目设置」→「服务账号」板块,找到对应的配置信息确认。
    • Authorization:这里一般指的是ID Token或者Access Token。前端的话,直接调用firebase.auth().currentUser.getIdToken()就能拿到当前用户的ID Token;后端服务要获取的话,得用服务账号密钥去调用上面的Token端点换取。
  • 如果是自定义OAuth2服务:
    • Token URL都是由服务方明确提供的,比如GitHub的是https://github.com/login/oauth/access_token,你得去对应服务的开发者文档里找这个地址。
    • Authorization头通常是Bearer {token}的格式,这里的token是你通过授权流程(比如授权码模式)拿到的访问令牌。

二、Firebase用户ID稳定性的问题,你可能搞混了概念!

你提到的getUser().userId应该是把临时的Token信息和永久的用户UID搞混了——Firebase Auth的用户UID是永久不变的,不管过多少天、换多少设备,这个ID都不会变!

给你明确区分下:

  • firebase.auth().currentUser.uid:这才是用户的唯一永久标识,一旦用户创建账号,这个UID就固定了,哪怕用户重置密码、换手机登录,都不会改变。
  • 你说的30天后会变的,应该是ID Token——这是短期有效的身份凭证(默认有效期1小时),需要定期刷新,但它只是用来验证用户身份的临时令牌,不能用来做用户数据的关联标识。

所以你的代码应该改成这样:

const userId = firebase.auth().currentUser.uid;

用这个UID来关联Firebase里的作业、词汇内容就没问题了,比如把数据存在/users/{uid}/assignments或者/users/{uid}/vocab这样的路径下,既符合Firebase的最佳实践,又能保证用户数据的稳定关联。

另外,恭喜你独立开发的代理工具快完成了!把这个UID的问题搞定后,Firebase存储功能应该就能顺利收尾啦。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:08:17