J'utilise l'authentification par téléphone Firebase pour la toute première fois et je vois que la vérification du captcha doit poursuivre le processus, conformément à la documentation officielle de Firebase. Bien que cela serve un bon objectif, mais parfois cela devient très mauvais pour l'expérience utilisateur lorsqu'il commence à poser des questions sur les panneaux de signalisation, les ponts et tout. Existe-t-il un moyen de passer directement au code de vérification juste après avoir obtenu le numéro d'utilisateur? Selon la documentation, le code est mentionné ci-dessous. Merci.
var phoneNumber = getPhoneNumberFromUserInput();
var appVerifier = window.recaptchaVerifier;
firebase.auth().signInWithPhoneNumber(phoneNumber, appVerifier)
.then(function (confirmationResult) {
// SMS sent. Prompt user to type the code from the message, then sign the
// user in with confirmationResult.confirm(code).
window.confirmationResult = confirmationResult;
}).catch(function (error) {
// Error; SMS not sent
// ...
});
var code = getCodeFromUserInput();
confirmationResult.confirm(code).then(function (result) {
// User signed in successfully.
var user = result.user;
// ...
}).catch(function (error) {
// User couldn't sign in (bad verification code?)
// ...
});
Vous ne pouvez pas supprimer la vérification captcha en utilisant l'authentification par défaut .
Utilisez authentification anonyme pour éviter que les lettres captcha
n'apparaissent. Aussi anonymous authentication
est plus simple que authentification Firebase authentification par défaut.
Usage:
firebase.auth().signInAnonymously().catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
Pour plus de détails, veuillez suivre cette documentation officielle: https://firebase.google.com/docs/auth/web/anonymous-auth
J'ai eu le même problème lors de l'intégration du SDK iOS.
Si Google a la même architecture et les mêmes classes du SDK Firebase dans toutes les langues, cette solution peut fonctionner pour vous.
Auth.auth().settings?.isAppVerificationDisabledForTesting = true