Co zaskakujące - jeszcze więcej, gdy obie są produktami Google - są informacje, które mogę znaleźć na temat integracji programu Recaptcha z Firebase pod numerem no. Czy to możliwe? Jeśli nie, to w jaki sposób mogę zweryfikować ludzi w aplikacji Firebase, która nie ma auth?Używanie recaptcha z Firebase
Odpowiedz
Właśnie opublikowałem tutorial blog o tym, jak zintegrować reCAPTCHA w witrynie internetowej za pomocą Firebase Hosting, aby udostępniać treść i funkcje w chmurze dla Firebase do sprawdzania poprawności odpowiedzi otrzymanej z reCAPTCHA. Sama funkcja wygląda tak, zakładając, że token odpowiedź jest odbierana za pośrednictwem łańcucha zapytania:
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.")
})
})
Czy są jakieś alternatywy dla za pomocą obietnicy złożenia zamówienia. 'const rp = require ('request-promise')'? –
Co jeśli chcę tego użyć, zanim zezwolę użytkownikom na OAuth z Facebookiem lub Google? –
Możesz użyć dowolnej biblioteki klienta HTTP, pod warunkiem, że postępujesz zgodnie ze specyfikacją interfejsu API reCAPTCHA. Możesz to zrobić, kiedy tylko chcesz. –
Jest to dość stary post, ale tutaj jest odpowiedź dla wyszukiwarki Google facet jak ja. To teraz wbudowany, i bardzo łatwy do skonfigurowania:
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()
Jak tuananh wspomina, upewnij się dodać <div id="recaptcha"></div>
.
Aby anulować wyjątek "Błąd: kontener reCAPTCHA nie został znaleziony lub zawiera już elementy wewnętrzne". Proszę dodać element o id = "recaptcha", np:
– tuananh@tuananh Bardzo pomocne, dzięki Alan – Patrickkx
Po prostu chcę zauważyć, że ta metoda używa "firebase.auth", która nie jest poprawna dla uwierzytelniania po stronie serwera lub implementacji node.js . Jest tylko "wbudowany" dla projektów javascript po stronie klienta. Powyższa metoda autorstwa Douga Stevensona jest konieczna dla każdego, kto robi renderowanie po stronie serwera. Na przykład, jeśli chcesz, aby funkcje Firebase weryfikowały captcha przed wysłaniem danych użytkownika do innej funkcji, aby utworzyć nowe konto użytkownika przy użyciu SDK administratora. –
- 1. Używanie UpdateChildValues do usunięcia z Firebase
- 2. Używanie struktury Redux z Firebase w Androidzie
- 3. Google ReCaptcha nie publikuje "g-recaptcha-response"
- 4. Niewidzialna ReCaptcha z jQuery ajax
- 5. Używanie komunikatów tematu Firebase z kanałami powiadomień Androida
- 6. .NET Recaptcha https
- 7. stylizacja reCaptcha jest zepsuta
- 8. Zend framework i ReCaptcha
- 9. Zmień czcionkę nowego "No CAPTCHA reCAPTCHA"
- 10. Paginacja/Nieskończone przewijanie z Firebase
- 11. Modyfikowanie szerokości tablicy recaptcha
- 12. Jak działa ReCAPTCHA?
- 13. Jak zmniejszyć trudność Recaptcha?
- 14. Google reCAPTCHA nie pokazując
- 15. Implementacja Invisible reCAPTCHA z formą Redux
- 16. recaptcha dostaje nieprawidłowy json z wezwaniem do https://www.google.com/recaptcha/api2/userverify
- 17. Open Source Invisible reCAPTCHA alternatywy
- 18. Django kreator formularzy i recaptcha
- 19. Resetowanie Google reCaptcha nie działa
- 20. Reklamowe Problem z Firebase
- 21. Firebase, jak uzyskać adres URL obrazu z magazynu Firebase?
- 22. Kontener reCAPTCHA nie został znaleziony lub zawiera już elementy wewnętrzne
- 23. React Native z uwierzytelnianiem Firebase
- 24. Firebase paginacja android z recyclerview
- 25. Zgłaszanie problemów z Firebase Crash
- 26. Potrzebujesz pomocy z reCAPTCHA - ciągle otrzymujesz nieprawidłowe captcha-sol
- 27. Sposób na pominięcie wyzwania związanego z obrazem reCAPTCHA
- 28. Jak korzystać z klienta reCaptcha w Pythonie do sprawdzania poprawności?
- 29. ReCaptcha zawsze pyta o dodatkową weryfikację?
- 30. ReCaptcha 2.0: włącz przycisk Prześlij na oddzwonienie, jeśli recaptcha się powiodło
W tej chwili też się nad tym zastanawiam. Wróci z odpowiedzią lub aktualizacją, gdy coś mam. –
Nie rozpocząłem jeszcze mojego rozwiązania, jednak zamierzam użyć funkcji Cloud Functions for Firebase do https://firebase.google.com/docs/functions/, aby zintegrować się z Recaptcha. Istnieją podobne przypadki użycia tutaj: https://github.com/firebase/functions-samples –
Nie wiem, czy jestem za późno. Teraz jest funkcja chmury Firebase. Możesz napisać na nim swój własny backend API w javascript. Zamiast wywoływać bazę danych firebase bezpośrednio z klienta, wywołujesz swój niestandardowy interfejs API za pomocą funkcji chmury Firebase na kliencie i uwierzytelniasz tam reCaptcha i robisz coś z twoją bazą danych jako administrator (firebase-admin). Próbowałem i działa dobrze. – pupuupup