Articles of firebase authentication

Firebasepipe理员身份validation令牌被吊销

我试图实现一个node.js服务器来侦听我的firebase数据库中的更改。 这是我的代码来初始化服务器: var admin = require('firebase-admin'); var serviceAccount = require('./SERVICE-ACCOUNT.json'); admin.initializeApp({ credential: admin.credential.cert(serviceAccount), databaseURL: "https://APP-NAME.firebaseio.com" }); var db = admin.database(); admin.database.enableLogging(true); var convRef = db.ref('conversations'); convRef.once('value', function(snapshot) { console.log("VALUE: " + snapshot.val()); }, function(error) { console.log("ERROR: " + error.code); }); 启用debugging后,我收到错误: p:0: Listen called for /conversations default p:0: Making a connection attempt p:0: Auth token […]

在部署Firebase项目时,错误显示“找不到模块firebase-functions”

当我试图部署一个firebase项目时,它会在npm控制台中显示一条错误信息'can not find module firebase-functions'。我所做的步骤(节点命令)是: npm install -g firebase-tools firebaselogin firebase初始化 最后是我困扰的地方 4. firebase部署 请帮帮我。

使用Firebase进行NodeJS身份validation

我想通过使用Firebase的NodeJS进行身份validation和保持会话。 客户端无法直接与Firebase进行通信。 简而言之: 客户端(浏览器)<—-> NodeJs(firebase-admin)<—-> Firebase 我在NodeJS中创build了Firebase客户端,然后使用login方法: var firebaseClient = require('firebase'); firebaseClient.initializeApp(config) firebaseClient.auth().signInWithEmailAndPassword(req.body.email, req.body.password).catch(function(error){ console.log(error); }) 然后我创build了检查经过身份validation的用户的path: app.get('/check',function(req,res){ var user = firebaseClient.auth().currentUser console.log(user) }) 此方法只允许我保留1个以前login的用户。 我想使用firebase-admin,但我不知道如何保持会话和validation用户

我可以使用pipe理身份validationAPI手动在Firebase中创build联合用户吗?

我有一个使用Firebase构build的Web应用程序。 在我的networking应用程序中,我有谷歌,firebase,叽叽喳喳注册/loginfunction。 现在我想把这个和我的api.ai代理整合起来,并且有一个无缝的账户链接。 因此,用户将使用他们从移动设备的googel Home / assistant应用程序连接到我的代理。 在这个阶段,我将拥有Google帐户Id,Google电子邮件地址,用户名称。 如果用户已经存在,我可以发送代理所需的令牌。 但是,如果用户是新的,我想在我的firebase数据库中创build帐户。 我无法find手动(从nodejs应用程序/云function)在Firebase中创build联合帐户的可能性! 我知道有可能创build一个电子邮件+虚拟密码帐户,但这不是我所期待的。 因为用户在尝试login我的networking应用程序时使用虚拟密码进行了注册,所以会使用他们的Googleloginfunction。 如果我创build电子邮件和虚拟密码,stream量不好,我强迫用户更改密码,并再次链接到他们的谷歌帐户,当他们来到我的networking频道! 有CLI方法,我可以从文件中导入用户 。 如果这是一个可能有人可以请帮我我怎么能做到这一点在云function?

将具有服务帐户的Firebase应用程序部署到Heroku(带有dotenv的环境variables)

我有一个使用Firebase服务帐户的节点应用程序。 我想部署到Heroku的应用程序,但我不想公开我的密钥。 我直接从公共github回购部署,所以我不想在部署中包含服务帐户文件。 我可以采取服务帐户json文件,使每个属性的环境variables,将这些variables添加到Heroku,并部署它。 一切都很好(在我的firebase应用上授权新的Heroku域之后),但有没有更好的方法来做到这一点? 这是有效的,但这样做很痛苦(复制和粘贴每个variables并移动它)。 我错过了一个更简单的方法来做到这一点? 这是我正在做的改变。 从这一行中,从文件中提取证书: admin.initializeApp({ credential: admin.credential.cert('./path/firebase-service-account.json'), databaseURL: "https://my-firebase-app.firebaseio.com" }); 对于这个从环境variables中引入所有相同的东西的对象: admin.initializeApp({ credential: admin.credential.cert({ "type": process.env.FIREBASE_TYPE, "project_id": process.env.FIREBASE_PROJECT_ID, "private_key_id": process.env.FIREBASE_PRIVATE_KEY_ID, "private_key": process.env.FIREBASE_PRIVATE_KEY, "client_email": process.env.FIREBASE_CLIENT_EMAIL, "client_id": process.env.FIREBASE_CLIENT_ID, "auth_uri": process.env.FIREBASE_AUTH_URI, "token_uri": process.env.FIREBASE_TOKEN_URI, "auth_provider_x509_cert_url": process.env.FIREBASE_AUTH_PROVIDER_X509_CERT_URL, "client_x509_cert_url": process.env.FIREBASE_CLIENT_X509_CERT_URL }), databaseURL: "https://my-firebase-app.firebaseio.com" }); 这是用Heroku的服务帐户部署Firebase应用程序的最佳做法吗? 我正在使用dotenv节点模块来完成这一点。