Ich habe es mit Firebase
Authentifizierung für das Web. Die documentation besagt, dassFirebase: letzten Login angefordert
Einige sicherheitsrelevante Aktionen-wie ein Konto zu löschen, eine primäre E-Mail-Adresse Einstellen und Ändern eine kennwort erfordern, dass der Benutzer vor kurzem in unterzeichnet hat.
Wenn Nicht, die Anfrage würde mit dem Fehlercode auth/requires-recent-login
fehlschlagen, und ich sollte den Fall verwalten, indem ich den Benutzer auffordere, seine Anmeldeinformationen erneut einzugeben. Nachdem ich das getan habe, kann ich einfach den Benutzer mit dem folgenden Code erneut authentifizieren:
firebase.auth().currentUser.reauthenticate(credential)
In den API reference es einige Details mehr. Es stellt sich heraus, credential
ist eigentlich ein Objekt des Typs firebase.auth.AuthCredential
. Davon abgesehen, habe ich noch eine Reihe von Fragen, auf die ich nicht beantworten konnte auf der Dokumentation finden:
- Wie erstelle ich das
AuthCredential
Objekt? - Noch wichtiger, wie gehe ich mit Anbietern (Google, Facebook, ...). Ich stimme zu, dass die Änderung von E-Mail/Passwort für Anbieter nicht sinnvoll ist, da dies nicht der richtige Ort ist, um sie zu ändern, sodass die erneute Authentifizierung in diesem Fall nicht zutrifft. Löschen eines Benutzers ist jedoch immer noch eine Aktion, die erneute Authentifizierung erfordert, und dies könnte unabhängig von der Authentifizierungsmethode durchgeführt werden. Wie authentifiziere ich einen Benutzer erneut, der sich bei einem Anbieter angemeldet hat?
- Die Dokumentation besagt, dass sich der Benutzer vor kurzem anmelden muss. Ich konnte in den Dokumenten keine Definition von recent finden.
Danke für die Info. Aber wie bekommst du den fbAccessToken? – Richard
Was ist Ihr Anwendungsfall? 1. nimmt an, dass Sie es bereits haben. Vielleicht von der Facebook sdk. – bojeil