早期使用 Firebase 文档并且到目前为止真的很喜欢它。作为 n00b,这里有一个概念性问题 - Firebase 身份验证生成的(JWT)令牌是否可访问客户端?
我希望调用一些外部服务并希望利用 JWT 作为安全机制。所以:
本质上,利用现有的 Firebase 机制作为外部服务的“网关”形式。
我在这里看到了一个旧答案- “.... 重新加载页面的令牌,然后你需要以某种方式存储它,以便客户端......” - 这token是JWT吗?
谢谢!
2021 年 3 月更新:
getToken()不起作用,请参阅文档
我们必须使用getIdToken()
以下版本适用于 Javascript
firebase.auth().currentUser.getIdToken(true).then(function(token){
console.log(token);
});
Run Code Online (Sandbox Code Playgroud)
这是获取 firebase JWT 令牌的正确方法
firebase.auth().currentUser.getToken().then(function(token){
console.log(token);
});
Run Code Online (Sandbox Code Playgroud)
Firebase 确实将 JWT 保存在本地存储中。
JSON.parse(localStorage.getItem("firebase:session::<app-name>")).token
Run Code Online (Sandbox Code Playgroud)
您还可以从 authData 获取它,它可用作属性的值token。
ref.onAuth(function(authData) { console.log(authData.token); })
Run Code Online (Sandbox Code Playgroud)
但首选方法是按照 Chris 在评论中所说的操作:
ref.getAuth().token
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3323 次 |
| 最近记录: |