Quiero usar Firebase App Check en Gatsby Project. Completé el registro de la aplicación en Firebase console.
En mi proyecto:
import { initializeApp } from "firebase/app"; import { initializeAppCheck, ReCaptchaV3Provider, getToken } from "firebase/app-check"; const app = initializeApp({ // My firebase configuration object }); const appCheck = initializeAppCheck(app, { provider: new ReCaptchaV3Provider('MY_RECAPTCHA_PUBLIC_KEY'), isTokenAutoRefreshEnabled: true }); getToken(appCheck) .then(() => { console.log('success') }) .catch((error) => { console.log(error.message) })Pero, no funciona y obtuvo el error:
@firebase/app-check: FirebaseError: AppCheck: el servidor Fetch devolvió un estado de error HTTP. Estado HTTP: 403. (appCheck/fetch-status-error).
Entonces, ¿alguien puede ayudarme a verificar dónde está el problema? ¿Cómo resolver?
¡Gracias!
Vaya a su Proyecto Firebase en Google Cloud Console: https://console.cloud.google.com/apis/credentials
Haga clic en el nombre de su clave de API de Firebase en "Claves de API".
"Restricciones de API"
Si está restringiendo el uso de su clave API, asegúrese de incluir:
API seleccionadas : Firebase App Check API
NO agregue localhost a los dominios aceptados de ReCaptcha. Los documentos de Google Firebase son claros: NO DEBE agregar localhost a los dominios permitidos como @uponly ref sugerida: https://firebase.google.com/docs/app-check/web/debug-provider?authuser=0&hl=en#web -version-9
Use los pasos más claramente descritos en la sección "Usar el proveedor de depuración en localhost" aquí
TLDR;
window.FIREBASE_APPCHECK_DEBUG_TOKEN=true justo antes de llamar a initializeAppCheck para decirle a su código que solicite un token de depuraciónAppCheck debug token:Agregando a la respuesta de @ jprio:
Si utiliza una clave de API sin restricciones y utiliza ReCaptchaEnterprise, debe asegurarse de tener configurados correctamente los dominios adecuados para su clave de sitio de Recaptcha Enterprise.

