2017-07-18 119 views
1

我得到一个:火力地堡权威性的Reauthenticate不是一个函数

Uncaught TypeError: user.reauthenticate is not a function

与下面这段代码。

var user = firebase.auth().currentUser; 
var credentials = firebase.auth.EmailAuthProvider.credential(user.email,'foo'); 

console.log(user) // the currentUser object 
console.log(user.reauthenticate) // undefined  

user.reauthenticate(credentials) 
    .then(() => { 
     // Do something 
    }, err => console.log(error)); 

我只是跟着this guidethis accepted answer通过Frank van Puffelen

+0

在接受的答案中,我看到'var user = firebase.app.auth()。currentUser;',而你有'var user = firebase.auth()。currentUser;'。 –

+0

你可以试试'user.reauthenticateWithCredential'吗?请参阅https://firebase.google.com/docs/reference/js/firebase.User#reauthenticateWithCredential –

+0

Hello @FrankvanPuffelen'用户。 reauthenticateWithCredential'工作。我昨天在'user'对象下找到了它。谢谢。 – CENT1PEDE

回答

2

这里firebaser

我们取得了4.0版本的火力地堡的Web SDK的一个重大更改。从release notes

BREAKING: firebase.User.prototype.reauthenticate has been removed in favor of firebase.User.prototype.reauthenticateWithCredential .

至于我可以告诉reauthenticateWithCredential是一个简易替换旧方法。

+0

谢谢弗兰克! :) – CENT1PEDE

+1

感谢您报告。不知何故,这在文档指南中错过了。对此的修复正在进行中。 –