2016-06-14 11 views
32

new docs içinde (belirsiz) örnek: Bu credential nesne oluşturmak nasıl v3 Firebase istemcisi ileFirebase web user.reauthenticate() yöntemi tarafından ihtiyaç duyulan "kimlik bilgisi" nesnesi nasıl oluşturulur?

var user = firebase.auth().currentUser; 
var credential; 
// Prompt the user to re-provide their sign-in credentials 
user.reauthenticate(credential).then(function() { 

?

Denedim:

  • reauthenticate(email, password)
  • reauthenticate({ email, password }) (oturum açma yöntemi gibi) (docs söz bir bağımsız değişken yalnızca)

Hayır şans :(

PS: Yeni dokümanlardaki alakalı bilgileri aramak için harcanan saatleri saymıyorum ... Muhteşem ateşböceklerini çok özledim. com docs, ama firebase.storage için v3 için geçiş yapmak istedim ...

cevap

57

Ben, dokümanlar çok fazla zaman harcamak istemiyor kim bu içerecek şekilde güncellenmelidir çalışması için yönetilen kapsamlı ama:

Ben şu gibi bir şey olacaktır varsayalım okunan referans.

kimlik nesne şöyle oluşturulur:

const user = firebase.auth().currentUser; 
const credential = firebase.auth.EmailAuthProvider.credential(
    user.email, 
    userProvidedPassword 
); 
+0

Yoldaydım. :) – adolfosrs

+3

Çözümü bulduğunuzu duymak harika! Dokümanları güncellemek/netleştirmek için bir not ekleyeceğim. Ayrıca, belirli bir amaç için her sayfada bir geri bildirim düğmesi olduğunu unutmayın. :-) –

+0

Geri bildirim düğmesi için Cool, +1 (önce görmedim) – Pandaiolo

0

Bu belgede belgelerin pek açık olmadığını kabul ediyorum. Ancak API referansında biraz daha derine baktığımda, firebase.auth.AuthCredential ve this'u buldum ve sanırım reauthenticate() numarasına geçmeniz gerekiyor.

Burada tahmin ediyorum ama orada credential nesnesinin olup olmadığını görmek için firebase.auth() günlüğünü kaydetmeye çalışıyorum.

user.reauthenticate(firebase.auth().credential).then(function() { 
+0

Çalışmayı başardım, bir cevap yazarım. Cevabınızdaki e-postayı ve şifreyi unutmuşsunuz :) – Pandaiolo

+0

Tahmininiz işe yaramıyor. – Rohmer

-1
final FirebaseUser fireBaseUser = FirebaseAuth.getInstance().getCurrentUser(); 
AuthCredential credential = EmailAuthProvider.getCredential(fireBaseUser.getEmail(), storedPassword); 
fireBaseUser.reauthenticate(credential).addOnCompleteListener(new OnCompleteListener<Void>() { 
    @Override 
    public void onComplete(@NonNull Task<Void> reAuthenticateTask) { 
      if (!reAuthenticateTask.isSuccessful()) 
       ... 
    } 
}); 
+0

Bu javascript değil ... – Rohmer

8

Komple cevap - aşağıdakileri yapabilirsiniz:

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

reauthenticateWithCredentialreauthenticate()

güncellenmiş versiyonu olduğuna dikkat edin
+1

gelen eksik üçüncü satır eklediğiniz için teşekkürler kabul edilen cevap – Rohmer