AngularJS中Firebase AppCheck失效:实时数据库请求100%未验证
Firebase AppCheck 验证异常问题
技术栈版本
- Firebasejs 3.6.4
- Angularfire 2.3.0
- AngularJS 1.6.0
问题现象
修改Firebasejs库添加请求头X-Firebase-AppCheck后,Storage的请求显示100%已验证,但Realtime Database仍显示100%未验证请求。
AppCheck初始化代码
import { initializeApp } from 'https://www.gstatic.com/firebasejs/10.4.0/firebase-app.js' import { initializeAppCheck, getToken, ReCaptchaEnterpriseProvider } from "https://www.gstatic.com/firebasejs/10.4.0/firebase-app-check.js" const firebaseConfig = { apiKey: "XXXX", authDomain: "XXXX.firebaseapp.com", databaseURL: "https://XXXX.firebaseio.com", projectId: "XXXX", storageBucket: "XXX.appspot.com", messagingSenderId: "XXXX", appId: "1:CXXX:web:XXX" }; const app = initializeApp(firebaseConfig); const appCheck = initializeAppCheck(app, { provider: new ReCaptchaEnterpriseProvider("XXXXXX") }) var appCheckToket; try { appCheckToket = await getToken(appCheck,false); } catch (err) { console.log(err); } token = appCheckToket.token;
登录操作的reCAPTCHA评估代码
grecaptcha.enterprise.ready(async () => { let recaptchaToken = await grecaptcha.enterprise.execute('XXXXX', {action: 'LOGIN'}); var data ={ "event": { "token": recaptchaToken, "siteKey": "XXX", "expectedAction": "LOGIN" } }; $http({ method: 'POST', url:"https://recaptchaenterprise.googleapis.com/v1/projects/leaderbord-552b1/assessments?key=AIzaSyA1-mY-XXXXX", data: JSON.stringify(data) }) .then(function (success) { console.log(success); }, function (error) { console.log(error); }); });
疑问
不确定是否需要将应用升级到Angular 16,因为有一个Angular 16的应用未出现此问题。
内容的提问来源于stack exchange,提问作者Vindhyachal Kumar
相关产品推荐
相关产品推荐

