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 ...
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
);
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.
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() {