如何在react中检查用户是否使用密码登录?

时间:2020-09-25 09:18:43

标签: reactjs firebase firebase-authentication

我想添加密码更改功能,该功能仅对使用电子邮件/密码登录的用户可见。 我还通过在应用程序初始化上运行的onAuthChanged中调用的useEffect方法吸引了我的用户。

我基于this question实现了代码

这是我尝试过的:-

useEffect(() => {
    firebaseAuth().onAuthStateChanged((user) => {
      if(user){
        for (UserInfo userinf: FirebaseAuth.getInstance().getCurrentUser().getProviderData()) {
          if (userinf.getProviderId().equals("password")) {
              System.out.println("User is signed in with email/password");
          }
      }
},[]);

但是'firebase'库中没有名为FirebaseAuth的对象。

1 个答案:

答案 0 :(得分:1)

您正在尝试将Java代码添加到JavaScript项目中,这将无法正常工作。

您必须将找到的Java代码转换为JavaScript,如果您方便使用了JavaScriptJava的参考文档,这应该不会太难。

我实际上只是注意到Firebase文档还提供了有关如何针对JavaJavaScript执行此操作的指南。后者包含以下方便的代码段:

var user = firebase.auth().currentUser;

if (user != null) {
  user.providerData.forEach(function (profile) {
    console.log("Sign-in provider: " + profile.providerId);
    console.log("  Provider-specific UID: " + profile.uid);
    console.log("  Name: " + profile.displayName);
    console.log("  Email: " + profile.email);
    console.log("  Photo URL: " + profile.photoURL);
  });
}
相关问题