web-dev-qa-db-ja.com

javascriptを使用してFirebaseの電話認証からcaptcha検証を削除する方法は?

Firebase Phone Authを初めて使用しますが、Firebaseの公式ドキュメントに従って、CAPTCHAの確認がプロセスを続行する必要があることがわかります。それは良い目的を果たしますが、道路標識、橋などすべてについて尋ね始めると、ユーザーエクスペリエンスにとって非常に悪いことがあります。ユーザーの番号を取得した直後に確認コードに直接スキップする方法はありますか?ドキュメントによると、コードは以下のとおりです。ありがとう。

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?)
  // ...
});
12
Vinay Singh

デフォルト認証を使用してキャプチャ認証を削除することはできません。

匿名認証 を使用して、captcha文字が表示されないようにします。また、anonymous authenticationは、 Firebase Authentication デフォルト認証よりも簡単です。

使用法:

firebase.auth().signInAnonymously().catch(function(error) {
  // Handle Errors here.
  var errorCode = error.code;
  var errorMessage = error.message;
  // ...
});

詳細については、この公式ドキュメントに従ってください: https://firebase.google.com/docs/auth/web/anonymous-auth

1
Vikasdeep Singh

IOS SDKの統合中にも同じ問題が発生しました。

Googleが複数の言語で同じアーキテクチャとfirebase SDKのクラスを使用している場合、このソリューションが有効かもしれません。

Auth.auth().settings?.isAppVerificationDisabledForTesting = true
1
ShaileshAher