令人驚訝的,更當兩者都是谷歌的產品,有沒有信息,我可以找到如何使用的Recaptcha集成火力地堡。它甚至有可能嗎?如果沒有,我可以使用什麼來驗證沒有身份驗證的Firebase應用上的人員?與使用驗證碼火力地堡
回答
我剛剛發佈了一個tutorial blog關於如何將reCAPTCHA集成到網站中,該網站使用Firebase託管來爲Firebase提供內容和雲功能,以驗證從reCAPTCHA收到的響應。函數本身看起來像這樣,假設響應令牌通過查詢字符串接受:
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.")
})
})
是否有任何替代品使用請求承諾。 'const rp = require('request-promise')'? –
如果我想在用戶使用Facebook或Google的OAuth之前使用此功能,那該怎麼辦? –
只要您遵循reCAPTCHA API的規範,您就可以使用任何您喜歡的HTTP客戶端庫。你可以隨時做到這一點。 –
這是一個很老的文章,但這裏的同胞谷歌搜索和我一樣的答案。它現在的內置,以及超級簡單設置:
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>
。
- 1. 短信驗證碼,從火力地堡
- 2. 火力地堡及驗證碼爲createUserWithEmailAndPassword
- 3. 火力地堡驗證:這個程序是無權使用火力地堡
- 4. 與火力地堡
- 5. 與火力地堡
- 6. 火力地堡飛鏢與電子郵件和密碼驗證
- 7. 火力地堡谷歌驗證錯誤
- 8. 火力地堡規則驗證失敗
- 9. 火力地堡驗證錯誤的Android
- 10. 火力地堡驗證不會在Safari
- 11. 火力地堡認證+火力地堡貯存在Unity3d
- 12. 認證火力地堡
- 13. NullPointerException異常與火力地堡認證
- 14. 火力地堡認證與angularfire2
- 15. 火力地堡:使用comodin
- 16. 使用火力地堡與tvOS
- 17. OpenAuth - 火力地堡與GoogleAPI
- 18. jsonwebtoken.verify與火力地堡SDK
- 19. 火力地堡queryEqualToValue與childKey
- 20. 合併與火力地堡
- 21. 火力地堡驗證無法驗證域
- 22. 火力地堡規則驗證並不驗證數據
- 23. 火力地堡電話號碼驗證總是返回令牌
- 24. 火力地堡驗證錯誤代碼:AUTH/APP-未授權
- 25. 火力地堡電話號碼驗證錯誤
- 26. 火力地堡UI - 驗證 - 使用自己的佈局
- 27. 如何驗證新安裝使用火力地堡邀請
- 28. 如何發送回令牌使用火力地堡驗證
- 29. 火力地堡驗證密碼重置的iOS斯威夫特 - 更新火力地堡數據庫
- 30. 驗證始終活躍在離子與火力地堡
我目前也在研究這個。當我有東西的時候會回覆一個答案或者更新。 –
我還沒有開始對我的解決方案還沒有,不過,我希望使用雲功能的火力地堡到https://firebase.google.com/docs/functions/與整合的Recaptcha。這裏也有類似的用例:https://github.com/firebase/functions-samples –
我不知道我是否太遲。現在有Firebase的雲端功能。你可以在JavaScript上編寫你自己的後端API。您不必直接從客戶端調用Firebase數據庫,而是通過客戶端上的Firebase雲端功能調用您的自定義API,並在那裏驗證reCaptcha並以管理員身份(firebase-admin)對數據庫執行某些操作。我試過了,它工作正常。 – pupuupup