2017-02-01 3 views
5

ノードを使用してFirebaseユーザを認証する必要があるため、サーバ側の方法をいくつかテストできます。保護された各要求について、私が使用してFirebaseトークンを検証: 単体テストで使用するためにサーバにFirebaseトークンを作成するには?

firebase.auth().verifyIdToken(firebaseAccessToken).then(function(decodedToken) { 
    // forward request 
}) 

は、だから私のテストでは、私は私のFirebaseデータベースからUIDとトークンを作成し

firebase.auth().createCustomToken(uid).then(function(token) { 
    //add to header for requests 
}) 

後、私は、カスタムトークンが検証されていないことを読みますverifyIdTokenメソッドでは、クライアント生成のメソッドのみが生成されます。

私はこの答えを見てきました

からserver side verification of tokens in firebase

だから私は初期化JSONそれでも私のテストで

Error: expected 200 "OK", got 401 "Unauthorized" 

そしてfirebaseエラーを出力を取得

firebase.initializeApp({ 
    credential: firebase.credential.cert(serviceAccount), 
    databaseURL: [dbURL], 
    databaseAuthVariableOverride: { 
    uid: [uid] 
    } 
}); 

にdatabaseAuthVariableOverrideを追加しました -

Error: Decoding Firebase ID token failed. Make sure you passed the entire string JWT which represents an ID token. See https://firebase.google.com/docs/auth/admin/verify-id-tokens for details on how to retrieve an ID token. 

現在の設定でユーザーをエミュレートするにはどうすればよいですか?

+0

この記事は、次のような場合に役立ちます。https://firebase.googleblog.com/2015/04/end-to-end-testing-with-firebase-server_16.html –

答えて

関連する問題