signInWithEmailAndPassword和EmailAuthProvider

时间:2016-06-11 06:27:04

标签: javascript firebase firebase-authentication

我正在尝试了解新的身份验证模型。我正在尝试转换使用旧版authWithPassword的网页代码。

考虑到我:

firebase.authWithPassword({email: email, password: password }).then(
   authData => console.log('auth: authWithPassword success '+authData.uid), 
   err => console.log('auth: authWithPassword fail: '+err));

如何使用新版本实现相同的目标?

似乎有两种不同的界面:

auth().signInWithEmailAndPassword

firepad.auth.EmailAuthProvider

但我不了解差异或如何使用它们。是否有正确的电子邮件身份验证方式的明确示例?

2 个答案:

答案 0 :(得分:2)

新API存在很多这样的差异。最好密切关注文档。

新文档网站提供了有关电子邮件/密码身份验证的指南,但有关代码的具体问题:

firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
  // Handle Errors here.
  var errorCode = error.code;
  var errorMessage = error.message;
  // ...
});

来源:https://firebase.google.com/docs/auth/web/password-auth#sign_in_a_user_with_an_email_address_and_password

答案 1 :(得分:2)

阅读文档后,我认为EmailAuthProvider用于重新验证工作流程(在changePass,changeEmail等之前)。

Auth.currentUser.reauthenticate(firebase.auth.EmailAuthProvider.credential('user@example.com','existingPassword'));