Насколько я знаю, Аутентификация в Firebase не позволяет вам указать тип пароля, который пользователь может вставить в URL, который вам предоставляет электронная почта для сброса пароля.Но вы должны быть в состоянии достичь этого, используя службу проверки подлинности кода проверки.
Чтобы использовать код проверки, вам необходимо добавить объект ActionCodeSetting
в ваш метод sendPasswordResetEmail
.Это должно выглядеть так:
var actionCodeSettings = {
// URL you want to redirect back to. The domain (www.example.com) for this
// URL must be whitelisted in the Firebase Console.
url: 'https://www.example.com/finishSignUp?cartId=1234',
// This must be true.
handleCodeInApp: true,
iOS: {
bundleId: 'com.example.ios'
},
android: {
packageName: 'com.example.android',
installApp: true,
minimumVersion: '12'
}
};
В вашем случае единственное, что вас интересует, это handleCodeInApp
.Таким образом, электронное письмо предоставит вам код, который вам нужно будет вручную указать на verifyPasswordResetCode
.
После этого вы можете вручную ввести новый пароль в свой клиент без использования поставщика электронной почты Firebase.Просто позвоните confirmPasswordReset("verificationCode", "newPassword")
после того, как убедитесь, что код подтверждения действителен для verifyPasswordResetCode
.
Надеюсь, что это поможет вам!