首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取/使用Firebase JWT

获取/使用Firebase JWT
EN

Stack Overflow用户
提问于 2015-11-02 16:47:16
回答 5查看 10.6K关注 0票数 7

早期进入Firebase文档,到目前为止非常喜欢它。作为n00b,这里的一个概念性问题是:由Firebase身份验证生成的(JWT)令牌是否可访问客户端?

我希望调用一些外部服务,并希望利用JWT作为安全机制。所以:

  • 使用Firebase内置提供程序(纯客户端)对用户进行身份验证
  • 获取Firebase JWT (我的问题)
  • 按需要将此JWT传递给外部服务,并验证它(使用我的应用程序FBase机密)以“访问”外部服务

本质上,利用现有的Firebase机制作为外部服务的“网关”形式。

我在这里看到了一个旧答案 -- "....token为了生存页面重新加载,然后您需要以某种方式存储它,以便客户机.“--这是token token JWT吗?

谢谢!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-11-02 16:59:45

Firebase确实将JWT保存在本地存储中。

代码语言:javascript
复制
JSON.parse(localStorage.getItem("firebase:session::<app-name>")).token

您还可以从authData获得它,它可以作为token属性的值使用。

代码语言:javascript
复制
ref.onAuth(function(authData) { console.log(authData.token); })

但最好的方法是按照克里斯在评论中说的去做:

代码语言:javascript
复制
ref.getAuth().token
票数 3
EN

Stack Overflow用户

发布于 2017-03-01 22:21:09

这是获取firebase JWT令牌的正确方法。

代码语言:javascript
复制
firebase.auth().currentUser.getToken().then(function(token){
  console.log(token);
});
票数 7
EN

Stack Overflow用户

发布于 2021-03-21 08:22:36

更新2021年3月:getToken()无法工作,请参阅文档

我们必须使用getIdToken()

以下版本将在Javascript中运行

代码语言:javascript
复制
firebase.auth().currentUser.getIdToken(true).then(function(token){
  console.log(token);
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33482703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档