it-swarm.com.de

Wie erstelle ich ein "Credential" -Objekt, das von der Firebase-Methode web user.reauthenticate () benötigt wird?

Das (unklare) Beispiel in new docs :

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

Wie soll ich mit dem v3 Firebase-Client dieses credential-Objekt erstellen?

Ich habe es versucht: 

  • reauthenticate(email, password) (wie die Anmeldemethode)
  • reauthenticate({ email, password }) (die Dokumente erwähnen nur ein Argument)

Kein Glück :(

PS: Ich zähle nicht die Stunden, die in den neuen Dokumenten nach relevanten Informationen gesucht wurden ... Ich vermisse die fabelhaften firebase.com-Dokumente so sehr, wollte aber zu v3 für firebase.storage wechseln ...

40
Pandaiolo

Ich habe es geschafft, dass es funktioniert. Die Dokumente sollten aktualisiert werden, damit dies für diejenigen, die nicht zu viel Zeit in der erschöpfenden, aber schwer lesbaren Referenz verbringen möchten, aufgenommen wird.

Das Berechtigungsnachweisobjekt wird wie folgt erstellt:

const user = firebase.auth().currentUser;
const credential = firebase.auth.EmailAuthProvider.credential(
    user.email, 
    userProvidedPassword
);
83
Pandaiolo

Vollständige Antwort - Sie können Folgendes tun:

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

Bitte beachten Sie, dass reauthenticateWithCredential die aktualisierte Version von reauthenticate() ist.

17
maudulus
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())
               ...
     }
});

Ich stimme zu, dass die Dokumentation diesbezüglich nicht klar ist. Bei etwas tieferem Blick auf die API-Referenz habe ich firebase.auth.AuthCredential und this gefunden, und ich schätze, Sie sollten es an reauthenticate() übergeben.

Ich vermute hier, aber ich würde versuchen, die firebase.auth() zu protokollieren, um zu sehen, ob dort ein credential-Objekt vorhanden ist.

Ich nehme an, es sieht ungefähr so ​​aus:

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