首页 > 解决方案 > 如何验证用户是否已通过身份验证并存在于firebase中,当对rest-api进行读/写操作时,在nodejs中,UI处于颤动状态?

问题描述

我已经为flutter应用程序使用Nodejs和mongodb构建了一个rest-api,工作得很好,我正在使用firebase电话身份验证对用户进行身份验证,我有一些复杂的工作,firebase无法处理,所以为这项工作设置了一个restapi,因此,当用户点击该 api 时,我想确保用户在服务器(api)端读取和写入数据库之前存在并由 firebase 进行身份验证,用节点 js 编写。如何实现这一点,有什么想法吗?

PS:我对想法持开放态度,并提前感谢您的帮助:)

如果这样做或有问题有任何问题,请建议编辑

标签: node.jsmongodbfirebaseflutterfirebase-authentication

解决方案


只需使用currentUserFirebaseAuth 的方法来验证用户是否已登录

FirebaseUser user = await FirebaseAuth.instance.currentUser();
if(user!=null){
  // do your thing
}

编辑如果您想在您的服务器上验证用户,请在您的 Nodejs 服务器中使用 Firebase Admin SDK。您必须传递一些标识符,例如 UID、电子邮件或电话号码;以适用者为准。

admin.auth().getUser(uid)
  .then(function(userRecord) {
    // See the UserRecord reference doc for the contents of userRecord.
    console.log('Successfully fetched user data:', userRecord.toJSON());
  })
  .catch(function(error) {
    console.log('Error fetching user data:', error);
  });

有关更多详细信息,请参阅文档:https ://firebase.google.com/docs/auth/admin/manage-users


推荐阅读