2017-07-18 120 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

感謝您報告。不知何故,這在文檔指南中錯過了。對此的修復正在進行中。 –