2017-02-25 11 views
0

私はFirebaseプロジェクトを持っていますが、ユーザーがいくつかのコンテンツを共有するのはメディアとテキストです。 Facebookがリンクを適切に処理するためには、共有コンテンツにあらかじめ設定されたページが必要です(Firebase JS APIのクライアントではなく、サーバー側で動的に作成されます)。Google App Engine Node.jsアプリケーションのFirebaseプロジェクトのserviceAccountKey.jsonのセキュアパス

だから、私はsomedomain.com/?content=hfe84gfjy45xs

var admin = require("firebase-admin"); 
 

 
// Fetch the service account key JSON file contents 
 
var serviceAccount = require("path/to/serviceAccountKey.json"); 
 

 
// Initialize the app with a null auth variable, limiting the server's access 
 
admin.initializeApp({ 
 
    credential: admin.credential.cert(serviceAccount), 
 
    databaseURL: "https://databaseName.firebaseio.com", 
 
    databaseAuthVariableOverride: null 
 
});

のようなURLは、プロジェクトフォルダ内path/to/serviceAccountKey.jsonファイルを入れて、それが安全であるように、これらのコンテンツを提供するためにGoogle App Engineの(GAE)を使用することを決定しましたか? ファイルをGoogle Cloud Storageインスタンスに配置する必要がありますか?

ありがとうございます。

答えて

0

express-firebaseがこれを達成する良い例です。

  1. あなた.gitignoreでファイルパスがそれをソース管理にチェックインされていないことを、あなたのプロジェクトが、参照にごserviceAccountKey.jsonを追加します。

  2. ようにあなたのserviceAccountKey.jsonへのパスです.env変数を作成します。

    FIREBASE_SERVICE_ACCOUNT_KEY_PATH=./service-account-key.json 
    

    は、JSのアプリで荷重環境変数のdotenvを参照してください。

  3. そこから、あなたは、単にそのようなあなたのサービスアカウントのファイルを参照してcert関数に渡すことができます:

    const serviceAccount = require(process.env.FIREBASE_SERVICE_ACCOUNT_KEY_PATH); 
    
    admin.credential.cert(serviceAccount) 
    
関連する問題