Firebase管理SDK - 当前登录用户 - Nodejs

时间:2017-07-20 12:39:09

标签: node.js express firebase firebase-admin

如何在firebase管理SDK中获取currentUser。在客户端SDK中我们可以使用

onAuthStateChanged() or firebase.auth().currentUser()

在NodeJs Server.js文件中,firebase管理员SDK onAuthStateChanged()不起作用,这里有什么用?

基本上我只希望登录用户访问我的innerPages,所以我使用express,nodejs app.get 方法来创建路径。

app.get('/', authenticationRequired ,function(req,res){
    res.sendFile(path.join(__dirname+'/index.html'));
});

尝试编写 authenticationRequired 方法(根据用户是否登录,返回false或true)。

1 个答案:

答案 0 :(得分:11)

Firebase Admin SDK本身并不知道哪些用户正在使用您的Express网络应用。您需要为此实现代码。如果您已在网络应用中使用Firebase身份验证,则需要执行以下步骤:

  1. Retrieve the user's ID token on the client

    您可以使用firebase.auth().currentUser.getToken()方法获取用户的ID令牌。

  2. 将此令牌从客户端传递到服务器

  3. Verify the token on the server

    可以使用admin.auth().verifyIdToken(idToken)方法验证用户ID令牌。成功后,它将返回decodedToken的承诺,否则将返回被拒绝的承诺。