2016-07-02 13 views
1

3.1.0リリースで導入された新機能を使用してRealtime Databaseにアクセスしようとしています:「Node.js SDKは認証されていないアクセスをサポートするようになりました。認証されていないクライアントと同じように制限する必要があります。Firebase Node.js SDK非認証アクセス

SDKを3.1.0にアップデートされています

なしサービスアカウントを使用してみました
[email protected]:~/dev/project/auth/firebase$ sudo npm install -g firebase 
[sudo] password for user: 
/usr/local/lib 
└─┬ [email protected] 

var firebase = require('firebase'); 

console.log('Initialise Firebasse app'); 
firebase.initializeApp({ 
    // serviceAccount: "", 
    databaseURL: "https://some-valid-firebase.firebaseio.com" 
}); 

結果は次のとおりです。

[email protected]:~/dev/project/auth/firebase$ nodejs fb_anon.js 
Initialise Firebasse app 
/home/user/dev/project/node_modules/firebase/auth-node/auth.js:61 
    throw new Error('Invalid service account provided'); 
    ^

私はおそらく、助けてくださいここに明白な何かがありません。 :-(起こっている何

+0

initializeAppにapiKeyを渡すべきではありませんか? –

+0

@Devid Farinelli:サーバー/ノードSDK用ではありません。こちらをご覧ください:[SDKの初期化](https://firebase.google.com/docs/server/setup#add_the_sdk) – blueCat

答えて

2

あなたはグローバルフラグでfirebase SDKを更新し、あなたが地元のSDKを参照しているため、アプリケーションはあなたのnode_modules内にある古いバージョンのSDKを参照しているということである。そして、thatsの。

あなたのアプリケーションにローカルにインストールする必要があります。 まず確認はあなたのpackage.jsonファイルに"firebase":"3.1.0"を追加作成し、その後、同じディレクトリ内npm installを呼び出す。

を私はちょうどあなたが追加したコードの同じ部分でそれをテストしてみましたすべてが期待通りに行った。

this questionには、npmを使用する際の追加情報とヒントがあります。