# #javascript #reactjs #firebase #firebase-authentication
Вопрос:
У меня много таких пользователей, некоторые пользователи войти с учетной записи Google, о других с Google учетная запись и пароль, я только хочу, чтобы отправить сброс почту sendPasswordResetEmail
если сообщение принадлежит пользователю пароль, а не к каждому виду счета, каждый пользователь должен сделать, когда пользователь не войти.
я использовал эту функцию sendPasswordResetEmail
, но эта функция отправляла всем почту, у меня была учетная запись Google без пароля, это неправильно для меня
Комментарии:
1. вы должны использовать облачную функцию, чтобы получить всех пользователей, а затем проверить, соответствует ли
password
тип пользователя, а затем отправить электронное письмо только тем, кто прошел проверку подлинности с помощью электронной почты и пароля,2. @sairaj но я использую клиент firebase от reactjs
3. вы в основном хотите отправлять электронную почту всем пользователям, которые прошли проверку подлинности с помощью электронной почты и пароля правильно
4. Вам не нужны облачные функции, чтобы получить поставщиков пользователей, вошедших в систему в данный момент.
5. да, но он хочет отправить всем пользователям, что, вероятно, является действием администратора
Ответ №1:
Вы можете проверить поставщиков аутентификации пользователя и проверить, включает ли это пароль электронной почты:
const user = firebase.auth().currentUser;
if (user !== null) {
if (user.providerData.find(p => p.providerId === "password")) {
// user had email-password account
// send email
}
}
Комментарии:
1. Проверяет ли ваш пример, есть ли пароль на электронном письме?
2. я попробую ответить на ваш вопрос, я скажу вам, сработает ли он
3. но пользователь не является логином, ваш пример работает, когда пользователь является логином
4. @brucelee тогда это невозможно сделать с помощью клиентского SDK. Вам придется использовать Admin SDK с облачными функциями или сервером.
5. как я могу это сделать после AdminSDK?