#node.js #reactjs #firebase-authentication #production-environment
#node.js #reactjs #firebase-аутентификация #производственная среда
Вопрос:
Я использую телефонную аутентификацию firebase для входа пользователей с использованием их мобильных номеров в моем приложении React Node. На локальном хосте все работает нормально, отправляются sms с кодом подтверждения, и пользователи могут войти в систему.
Но когда я развернул приложение, оно больше не работает. Когда вводите номер мобильного телефона и завершаете captcha, он просто перезагружает captcha, и мне приходится заполнять его снова, и он никогда не отправляет sms.
У меня эта ошибка в моей консоли:
POST https://www.googleapis.com/identitytoolkit/v3/relyingparty/sendVerificationCode?key=myFirebaseAPIkey 400
Это происходит только в рабочей среде. Я не уверен, почему это происходит. Может ли мой хост блокировать какой-либо порт, который firebase использует для отправки sms? Или с моей стороны что-то не так.
Вот мой метод входа в систему:
loginWithPhone = () => {
this.setState({ showOnlyCaptcha: true }, () => {
window.recaptchaVerifier = new firebase.auth.RecaptchaVerifier(
"recaptcha-container"
);
var phoneNumber = " 91" this.state.loginWithMobile;
var appVerifier = window.recaptchaVerifier;
firebase
.auth()
.signInWithPhoneNumber(phoneNumber, appVerifier)
.then((confirmationResult) => {
// SMS sent. Prompt user to type the code from the message, then sign the
// user in with confirmationResult.confirm(code).
window.confirmationResult = confirmationResu<
})
.catch(function (error) {
// Error; SMS not sent
if (error.code === "auth/too-many-requests") {
this.setState(
{
loginWithPhoneErrorMessage:
"Unable to verify Captcha at this time. Please try again after some time.",
},
() => {
this.setState({ loginWithPhoneError: true });
}
);
}
});
});
};
Ответ №1:
Я понял это после некоторых исследований. Чтобы иметь возможность выполнять проверку подлинности в рабочей среде, вам необходимо добавить свой домен в список авторизованных доменов проекта firebase. После этого все методы входа будут работать в вашем домене.
Комментарии:
1. вы можете пометить свой собственный пост как ответ. это помогает, когда люди ищут, выполнена ли эта отметка ответа.
2. Мне нужно подождать 2 дня, прежде чем я смогу это сделать.