【问题标题】:Node.JS Firebase Auth - Is there a way to keep a user session like with client side Firebase Auth?Node.JS Firebase Auth - 有没有办法像客户端 Firebase Auth 一样保持用户会话?
【发布时间】:2018-07-20 14:09:50
【问题描述】:

我正在学习 Node.JS,我正在尝试将 Firebase Auth 引入我的应用程序。使用客户端 Firebase 身份验证,您可以只执行 firebase.auth().currentUser,但在节点中,因为脚本不在客户端上运行,但一旦在服务器上运行,您就不能使用 firebase.auth().currentUser。有没有办法涉及会话或 cookie(我认为)来获取用户数据并使用来自节点的正常 Firebase 身份验证操作,就像客户端 Firebase 身份验证一样?

(我在 Node 上使用 express)

【问题讨论】:

    标签: node.js firebase express firebase-authentication


    【解决方案1】:

    正如您所发现的,对于发送到节点脚本的请求,没有当前用户的概念。

    您要做的是在客户端上使用 Firebase 身份验证,然后将 resulting ID token 发送到您的 node.js 脚本,您可以在其中使用 Firebase Admin SDK verify that the token is valid

    【讨论】:

    • 感谢您的快速回复。我现在将尝试整合它。
    • 不会要求每次都向 firebase api 发出请求来验证令牌。验证一次并存储在会话中不是更好吗?
    • Firebase 服务实际上使用我描述的方法,并在每个请求上解码/验证令牌。这不需要额外的 API 调用,因为它们可以缓存所需的密钥。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    • 2019-06-09
    • 2020-08-22
    • 2018-06-11
    相关资源
    最近更新 更多