Аутентификация телефона Firebase Возвращает 503 Сервис недоступен для иракских номеров телефонаJavascript

Форум по Javascript
Ответить
Anonymous
 Аутентификация телефона Firebase Возвращает 503 Сервис недоступен для иракских номеров телефона

Сообщение 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>
Это, по -видимому>

Подробнее здесь: https://stackoverflow.com/questions/797 ... i-phone-nu
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»