Когда пользователь регистрируется в нашем приложении, я хочу, чтобы он знал, существует ли уже электронное письмо, на которое он пытается подписаться, без необходимости отправки формы (AKA из-за размытия поля электронной почты).В нынешнем виде пользователь должен ввести свои данные и нажать кнопку «Регистрация», прежде чем он сообщит им, принято ли электронное письмо или нет.
Необходимое поведение можно наблюдать при регистрации в spotify, когда вы вводите адрес электронной почты, и как только вы щелкаете по ней, вы видите следующее:
Пока что я написал облачную функцию (http), которая запускается при размытии и вызывает функцию getUserByEmail
из авторизации администратора firestore.Функция выглядит следующим образом:
export const checkUserEmail = https.onRequest((req, res) => {
corsHandler(req, res, async () => {
try {
const email = req.body.email;
await admin.auth().getUserByEmail(email);
res.send({status: 200});
return;
} catch(e) {
return Helpers._handleError(res, 400, e.message);
}
})
});
Это работает, так как сейчас я могу проверить, существует ли в данный момент электронное письмо, но проблема в том, что для проверки требуется от 3 до 10 секунд (достаточно долго).чтобы пользователь мог глубже погрузиться в процесс регистрации).
Есть ли способ:
- Ускорить функцию облака или
- Проверить, является ли пользовательуже прошел проверку подлинности по электронной почте, предоставленной непосредственно на стороне клиента с пожарным депо?
Заранее спасибо