Согласно документам, мне необходимо повторно подтвердить подлинность пользователя, который пытается удалить свою учетную запись, но еще не выполнил вход.Вот doc (в самом низу):
Документация
Если вы выполните одно из этих действий, и пользователь войдет в системуслишком давно действие завершается ошибкой.Когда это происходит, повторно аутентифицируйте пользователя , получая новые учетные данные для входа от пользователя и передавая учетные данные для reauthenticateWithCredential
var user = firebase.auth().currentUser;
var credential;
// Prompt the user to re-provide their sign-in credentials
user.reauthenticateAndRetrieveDataWithCredential(credential).then(function() {
// User re-authenticated.
})
Credential?
Моя проблема в том, что получает новые учетные данные для входа от пользователя .Какое значение должна иметь учетная переменная?Согласно комментарию Puff , он должен идти:
var credential = firebase.auth.EmailAuthProvider.credential(email, password);
Мой вопрос: откуда взялись адрес электронной почты и пароль?Так как я использую GoogleSignInAuth , письмо может быть получено с помощью firebase.auth().currentUser.email
, поэтому оно будет выглядеть так:
var user = firebase.auth().currentUser;
let credential = firebase.auth.GoogleAuthProvider.credential(firebase.auth().currentUser.email);
user.reauthenticateAndRetrieveDataWithCredential(credential).then(() => {
// User re-authenticated.
});
Но я получаю ошибку:
{"error": {"code": 400, [{"message": "Невозможно проанализировать Google id_token: qmnofficial@gmail.com", "domain": "global", "reason":"invalid"}]}}
Пожалуйста, помогите.