Tag: firebase

Firebase在用户login时创build条目

我正在尝试设置Firebase的login过程。 我将使用客户端用户创build(因为显然firebase只允许客户端用户创build),这里是我的工作stream程的样子: 用户通过电子邮件和密码注册 服务在/ users / $ uid以及其他几个(例如/ table1 / $ uid,/ table2 / $ uid)创build一个入口。 用户可以在path/ users / $ uid,/ table1 / $ uid等处写入数据库,其中$ uid =当前login的用户(这是通过规则完成的) 但是,对于号码2,我想创buildentry / users / $ uid,但我不希望用户有权访问。 有没有办法做到这一点? 我想到的一个select是在节点服务器上运行一个具有所有r / w权限的服务帐户来创build这些表,但是如果我正在执行所有auth客户端,那么如何调用该服务器方法呢?

Firebase 3 node.js服务器authentication是否会改变?

现在好像唯一的方法来validation一个node.js服务器是通过传递一个服务帐户的私钥,这意味着私钥在RAM中,这是显然不会通过安全审查。 这种方法是否有时很快会改变,像传递一个有效期的令牌,可以在其他地方以安全的方式生成。 我正在谈论Firebase 2身份validation(但不是具有共享密钥的HS256),他们很想从Firebase的工程师团队获得评论。 谢谢

错误:加载firebase.json时出现错误:未安装Bolt,运行npm install -g firebase-bolt

操作系统:Windows 10专业版 节点:6.1.0 NPM:3.8.6 Gulp:CLI版本3.9.1 因此,firebase-bolt已经在全球安装,使用npm install -g firebase-bolt 。 但是,运行构build过程时收到以下错误消息: Error: There was an error loading firebase.json: Bolt not installed, run npm install -g firebase-bolt [21:47:04] 'deploy-firebase' errored after 8.29 s [21:47:04] Error: 1 at formatError (C:\Users\d0475\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:169:10) at Gulp.<anonymous> (C:\Users\d0475\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:195:15) at emitOne (events.js:101:20) at Gulp.emit (events.js:188:7) at Gulp.Orchestrator._emitTaskDone (C:\Users\d0475\Documents\Projects\esteMasterApp2\node_modules\orchestrator\index.js:264:8) at C:\Users\d0475\Documents\Projects\esteMasterApp2\node_modules\orchestrator\index.js:275:23 at finish (C:\Users\d0475\Documents\Projects\esteMasterApp2\node_modules\orchestrator\lib\runTask.js:21:8) […]

如何使用Node和Angular在服务器和客户端之间传输数据?

我有一个使用Node.js,Express,Firebase 3.4.0和Angular.js构build的应用程序。 在服务器端server.js ,我初始化应用程序,然后获取users的数据库引用: var express = require('express'); var bodyParser = require('body-parser'); var path = require('path'); var firebase = require("firebase"); var app = express(); app.use(bodyParser.urlencoded({extended: false})); app.use(bodyParser.json()); app.use(express.static(path.resolve(__dirname, 'views'))); // Firebase setup; this is where it messes up… firebase.initializeApp({ apiKey: "apiKey", authDomain: "projectId.firebaseapp.com", databaseURL: "https://databaseName.firebaseio.com", storageBucket: "bucket.appspot.com" }); var db = firebase.database().ref(); var users = […]

使用Node / Express从Firebase中读取数据

我是Node.JS / Express世界的初学者,所以我在这里要求一些帮助,以及如何实现我想要的。 我有这个中间件,我正在从Firebase中的数据库中读取数据,并将这些数据推送到一个对象数组中。 我的问题是:什么时候可以使用res.render来渲染视图并发送数据? 因为我总是得到“无法设置标题发送后”的错误,我知道原因,我只是无法找出解决这个问题的最好方法。 exports.regulation = (req, res, next) => { const collisions = []; const collisionsRef = firebase.database().ref('/collisions').once('value').then((data) => { data.forEach((elem) => { // console.log(elem.val()); const collision = {}; collision.id = elem.getKey(); collision.userId = elem.val().userId; const userRef = firebase.database().ref('/users/' + elem.val().userId).once('value').then((user) => { collision.user = user.val().name; collision.status = elem.val().status; collision.timestamp = elem.val().timestamp; […]

如何使Async API工作?

我目前正在为我的机构开发一个应用程序,并遇到以下问题。 我想允许用户检查数据库中的一些东西(目前使用的是Firebase)。 由于我必须从外部服务器检查一些内容,因此我设置了一个node.js服务器来发送更改通知。我想将此服务器用作Firebase与应用程序之间的链接,以满足更复杂的要求。 对于我的节点服务器和应用程序之间的门,我用快递…我设置了基本的东西,但以下问题发生,我不知道如何解决这个问题… 例如,我有APIlogin到用户帐户,所以我发送我的服务器与用户名和身份validation令牌的请求。 但是现在问题发生了。 由于服务器必须从Firebase检查它,我不能做任何事情的价值,因为我不知道什么时候得到它,也不知道如何做到这一点与asynchronous。 如果有人知道如何做到这一点,那真的会有帮助。 如果这个上面的情况是在这里混淆一​​个简单的事情: 我怎样才能当我得到一个请求(快递),从Firebase发送一个值…只要发送一个请求时,值已经加载? 如果需要的话,我愿意更改数据库,例如MongoDB或者其他有用的东西。

如何使用.push()添加数据后查询Firebase数据?

以下是我将数据推送到Firebase的代码: firebase.database().ref(`booklogs/${uid}/${book_id}`).push(page_id) booklogs : {HUMjSHxVKAPfVXzOId9zCBkGOgv1:{ book28917: { -KYp4FdYYODDZG1FX-Pb: 1 } } } 我的问题是,当我查询数据时, ${book_id}的子节点包含按键,但我只想得到值为1而不是按键。 我用来查询的代码是: var booklogs = db.ref(`booklogs/${uid}/${project}`); booklogs.once('value') .then((snapshot) => { console.log(`pages viewed are ${snapshot.key}: ${snapshot.val()}`); console.dir(snapshot.val()); }).catch((error) => { console.log(`Error : ${error}`); }); 在控制台中返回的数据是: pages viewed are 2634651: [object Object] { '-KYp4FdYYODDZG1FX-Pb': 1 } 任何input将不胜感激。 谢谢!

NodeJS / Firebase承诺的范围

我正在尝试开发连接到Firebase的NodeJS应用程序。 我可以连接成功,但我无法想象如何在then调用pipe理范围。 我正在使用NodeJS 6.9.2 我的testing实现如下所示: const EventEmitter = require('events'); const fb = require('firebase') class FireGateway extends EventEmitter { constructor() { super(); if ( this.instance ) { return this.instance; } // INIT var fbConfig = { apiKey: "xxxxx", authDomain: "xxxxx.firebaseapp.com", databaseURL: "https://xxxxx.firebaseio.com/" }; fb.initializeApp(fbConfig) this.instance = this; this.testvar = "aaa"; } login() { fb.auth().signInWithEmailAndPassword ("email", "pwd") […]

Firebase身份validation失败节点JS:NotAuthorizedError

我试图通过Firebase / Node JS发送推送通知。 我目前有这个代码在Heroku上运行。 var Firebase = require('firebase'); var request = require('request'); var express = require('express'); var FCM = require('fcm-node'); var app = express(); app.set('port', (process.env.PORT || 5000)); app.use(express.static(__dirname + '/public')); app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.get('/push', function(request, response) { response.send("running"); }); app.listen(app.get('port'), function() { console.log('Node app is running on port', app.get('port')); […]

较新版本的Firebase Node.js SDK初始化不起作用 – 旧版本不能

当使用Firebase Node.js SDK写入数据时,我在浏览器中获得net::ERR_CONNECTION_REFUSED ,并且The default Firebase app does not exist. Make sure you call initializeApp() before using any of the Firebase services. The default Firebase app does not exist. Make sure you call initializeApp() before using any of the Firebase services. 在控制台。 然而,当我用旧的方式,它的作品。 新代码: var admin = require("firebase-admin"); admin.initializeApp({ credential: admin.credential.cert("<my-account>.json"), databaseURL: "https://<my-project>.firebaseio.com" }); 旧代码(工作): […]