我正在尝试了解新的身份验证模型。我正在尝试转换使用旧版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
但我不了解差异或如何使用它们。是否有正确的电子邮件身份验证方式的明确示例?
答案 0 :(得分:2)
新API存在很多这样的差异。最好密切关注文档。
新文档网站提供了有关电子邮件/密码身份验证的指南,但有关代码的具体问题:
firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
答案 1 :(得分:2)
阅读文档后,我认为EmailAuthProvider用于重新验证工作流程(在changePass,changeEmail等之前)。
Auth.currentUser.reauthenticate(firebase.auth.EmailAuthProvider.credential('user@example.com','existingPassword'));