Я использую аутентификацию телефона Firebase в своем веб -приложении. Аутентификация прекрасно работает с номерами тестов и телефонов других стран (проверено с египетскими номерами), но последовательно терпит неудачу с иракскими номерами телефонов (+964), возвращая сервис 503, недоступную ошибку. < /P>
Code реализация < /p>
const setupRecaptcha = async () => {
try {
return await resetRecaptchaWithRetry(auth, "recaptcha-container", 3);
} catch (error) {
console.error("reCAPTCHA setup failed after retries:", error);
throw error;
}
};
const handleSendOTP = async (phoneNumber) => {
if (!phoneNumber) {
message.error(t("auth.phone_number_missing"));
return;
}
// Debug: Run health check on first attempt
if (!window.firebaseHealthChecked) {
console.log("Running Firebase health check...");
await firebaseHealthCheck();
window.firebaseHealthChecked = true;
}
// Test phone number format
const phoneTest = testPhoneNumber(phoneNumber);
console.log("Phone number test:", phoneTest);
// Check if reCAPTCHA container exists
const recaptchaContainer = document.getElementById("recaptcha-container");
if (!recaptchaContainer) {
console.error("reCAPTCHA container not found");
message.error(t("auth.recaptcha_missing"));
return;
}
try {
setIsLoading(true);
console.log("Starting OTP send process...");
// Setup reCAPTCHA with retry mechanism
const verifier = await setupRecaptcha();
console.log("reCAPTCHA setup completed");
if (!verifier) {
message.error(t("auth.recaptcha_missing"));
return;
}
// Send OTP with phone number
console.log("Sending OTP to:", phoneTest.formatted);
const confirmationResult = await signInWithPhoneNumber(
auth,
phoneTest.formatted,
verifier
);
// Save result and update UI
window.confirmationResult = confirmationResult;
setIsOTPSent(true);
setTimer(300); // Reset timer to 5 minutes
setIsExpired(false);
setRecaptchaRetryCount(0); // Reset retry count on success
message.success(t("auth.otp_sent"));
console.log("OTP sent successfully");
} catch (error) {
console.error("Error in handleSendOTP:", error);
// Clean up reCAPTCHA on error
clearRecaptcha();
< /code>
Полезная нагрузка запроса включает в себя: < /p>
{
"phoneNumber": "+9647736313833",
"clientType": "CLIENT_TYPE_WEB",
"captchaResponse": "NO_RECAPTCHA",
"recaptchaToken": "[long-token-string]",
"recaptchaVersion": "RECAPTCHA_ENTERPRISE"
}
< /code>
Что я попробовал < /p>
Тестовые номера работают отлично - Тестовые номера Firebase с иракским форматом работают нормально < /li>
Другие страны работают - Egyptian (+20), а другие номера работают успешно < /li>
recaptcha - нет. /> Реальные иракские числа не удалены - все иракские цифры возвращают 503 ошибку < /li>
< /ul>
среда < /p>
Firebase SDK: последняя версия < /li> Authenticate. /> Ошибка: 503 Служба недоступна < /li>
Пострадавшая страна: Ирак (+964) < /li>
< /ul>
Это, по -видимому>
Подробнее здесь: https://stackoverflow.com/questions/797 ... i-phone-nu
Аутентификация телефона Firebase Возвращает 503 Сервис недоступен для иракских номеров телефона ⇐ Javascript
Форум по Javascript
1755003878
Anonymous
Я использую аутентификацию телефона Firebase в своем веб -приложении. Аутентификация прекрасно работает с номерами тестов и телефонов других стран (проверено с египетскими номерами), но последовательно терпит неудачу с иракскими номерами телефонов (+964), возвращая сервис 503, недоступную ошибку. < /P>
Code реализация < /p>
const setupRecaptcha = async () => {
try {
return await resetRecaptchaWithRetry(auth, "recaptcha-container", 3);
} catch (error) {
console.error("reCAPTCHA setup failed after retries:", error);
throw error;
}
};
const handleSendOTP = async (phoneNumber) => {
if (!phoneNumber) {
message.error(t("auth.phone_number_missing"));
return;
}
// Debug: Run health check on first attempt
if (!window.firebaseHealthChecked) {
console.log("Running Firebase health check...");
await firebaseHealthCheck();
window.firebaseHealthChecked = true;
}
// Test phone number format
const phoneTest = testPhoneNumber(phoneNumber);
console.log("Phone number test:", phoneTest);
// Check if reCAPTCHA container exists
const recaptchaContainer = document.getElementById("recaptcha-container");
if (!recaptchaContainer) {
console.error("reCAPTCHA container not found");
message.error(t("auth.recaptcha_missing"));
return;
}
try {
setIsLoading(true);
console.log("Starting OTP send process...");
// Setup reCAPTCHA with retry mechanism
const verifier = await setupRecaptcha();
console.log("reCAPTCHA setup completed");
if (!verifier) {
message.error(t("auth.recaptcha_missing"));
return;
}
// Send OTP with phone number
console.log("Sending OTP to:", phoneTest.formatted);
const confirmationResult = await signInWithPhoneNumber(
auth,
phoneTest.formatted,
verifier
);
// Save result and update UI
window.confirmationResult = confirmationResult;
setIsOTPSent(true);
setTimer(300); // Reset timer to 5 minutes
setIsExpired(false);
setRecaptchaRetryCount(0); // Reset retry count on success
message.success(t("auth.otp_sent"));
console.log("OTP sent successfully");
} catch (error) {
console.error("Error in handleSendOTP:", error);
// Clean up reCAPTCHA on error
clearRecaptcha();
< /code>
Полезная нагрузка запроса включает в себя: < /p>
{
"phoneNumber": "+9647736313833",
"clientType": "CLIENT_TYPE_WEB",
"captchaResponse": "NO_RECAPTCHA",
"recaptchaToken": "[long-token-string]",
"recaptchaVersion": "RECAPTCHA_ENTERPRISE"
}
< /code>
Что я попробовал < /p>
Тестовые номера работают отлично - Тестовые номера Firebase с иракским форматом работают нормально < /li>
Другие страны работают - Egyptian (+20), а другие номера работают успешно < /li>
recaptcha - нет. /> Реальные иракские числа не удалены - все иракские цифры возвращают 503 ошибку < /li>
< /ul>
среда < /p>
Firebase SDK: последняя версия < /li> Authenticate. /> Ошибка: 503 Служба недоступна < /li>
Пострадавшая страна: Ирак (+964) < /li>
< /ul>
Это, по -видимому>
Подробнее здесь: [url]https://stackoverflow.com/questions/79733104/firebase-phone-authentication-returns-503-service-unavailable-for-iraqi-phone-nu[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия