Firebaseデータベースを監視するために使用しているかなり単純なNodeJSサーバがあります。私のコードはFirebaseマニュアルのサンプルと基本的に同じである:Firebase Server NodeJSがサービスアカウントとの接続に失敗しました
var firebase = require("firebase");
firebase.initializeApp({
databaseURL: 'https://myurl.firebaseio.com/',
serviceAccount: 'path/to/json.json'
})
私たちのネットワーク内からこのコードを実行すると今私がいる問題があり、それが持っているような接続であるように見えるdoens't右後のコードのブロックは、いくつかのデータを読み取るために、それはRANを取得することはありません:
var nodeRef = this.db.ref("node");
nodeRef.on("child_added", function (snapshot, prevChildKey) {
// ...
}, function (error) {
console.log(error);
})
私は誰もがデータベースへの書き込みアクセス権を与えた場合、私はinitializeApp
呼び出しで設定serviceAccountを取り出すことができ、すべてが完璧に動作します。私はFiddlerを実行しようとしましたが、その要求が失敗しているかどうかを確認していますが、Fiddlerで要求が何もポップアップしていないのを見ています。私たちの代理人が許可する必要があるものは何ですか?
クライアントがサービスアカウントで認証できないようです。問題がセキュリティ関連の場合は、書き込みが失敗したときにエラーが表示されます。ログに関連するものは何ですか?一般に、デバッグログを有効にして( 'firebase.database.enableLogging(true)')、それが認証されない理由についてのヒントを表示するかどうかを確認すると便利です。 –
ロギングを有効にした後、「エラー:証明書チェーンで自己署名入りの証明書」を送信すると、どのようなURLを使用しているかわかりませんので、私はプロキシにURLをホワイトリストに登録できますか? –