送信 - firebase 電話番号認証 ios




Firebaseでrecaptchaを使用する (2)

これはかなり古い投稿ですが、これは私のような仲間のGoogle検索者のための答えです。 これは組み込みで、設定がとても簡単です。

window.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('recaptcha', {
  'callback': (response) => {
    // reCAPTCHA solved, allow signInWithPhoneNumber.
    // ...
  },
  'expired-callback': () => {
    // Response expired. Ask user to solve reCAPTCHA again.
    // ...
  }
})
window.recaptchaVerifier.render()

tuananhが述べているように、必ず<div id="recaptcha"></div>を追加してください。

驚いたことに - 両方がGoogleの製品であるとき - さらにもっと - 私はFirebaseとRecaptchaを統合する方法について見つけることができる情報がありません 。 それも可能ですか? そうでない場合は、認証がないFirebaseアプリで人間を検証するために何を使用できますか?


コンテンツを提供するためにFirebase Hostingを使用し、reCAPTCHAから受信した応答を検証するためにCloud Functions for Cloudを使用してreCAPTCHAをWebサイトに統合する方法に関するチュートリアルブログを公​​開しました。 応答トークンがクエリ文字列を介して受信されると仮定すると、関数自体は次のようになります。

const functions = require('firebase-functions')
const rp = require('request-promise')

exports.checkRecaptcha = functions.https.onRequest((req, res) => {
    const response = req.query.response
    console.log("recaptcha response", response)
    rp({
        uri: 'https://recaptcha.google.com/recaptcha/api/siteverify',
        method: 'POST',
        formData: {
            secret: 'PASTE_YOUR_SECRET_CODE_HERE',
            response: response
        },
        json: true
    }).then(result => {
        console.log("recaptcha result", result)
        if (result.success) {
            res.send("You're good to go, human.")
        }
        else {
            res.send("Recaptcha verification failed. Are you a robot?")
        }
    }).catch(reason => {
        console.log("Recaptcha request failure", reason)
        res.send("Recaptcha request failed.")
    })
})




recaptcha