我想添加密码更改功能,该功能仅对使用电子邮件/密码登录的用户可见。
我还通过在应用程序初始化上运行的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的对象。
答案 0 :(得分:1)
您正在尝试将Java代码添加到JavaScript项目中,这将无法正常工作。
您必须将找到的Java代码转换为JavaScript,如果您方便使用了JavaScript,Java的参考文档,这应该不会太难。
我实际上只是注意到Firebase文档还提供了有关如何针对Java和JavaScript执行此操作的指南。后者包含以下方便的代码段:
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);
});
}