2017-02-01 56 views
5

Düğüm kullanarak bir Firebase kullanıcısını doğrulamam gerekiyor, böylece bazı sunucu tarafı yöntemlerini test edebiliyorum. Her korumalı isteği için kullanıyorum Firebase belirteç doğrulamak: Birim testleriyle kullanmak için sunucuda Firebase belirteci nasıl oluşturulur?

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

Yani benim testte benim Firebase veritabanından bir kullanıcı kimliği ile bir jetonu yarattı

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

Daha sonra özel belirteçleri doğrulanmadı olmadığını okumak verificationIdToken yöntemiyle, yalnızca istemci tarafından oluşturulanlar.

Bu cevap baktım -

server side verification of tokens in firebase Yani init json için databaseAuthVariableOverride eklendi

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

Hala benim testlerde

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

Ve Firebase hata çıktı alma -

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. 

Şu anki kurulumumu kullanarak bir kullanıcıyı nasıl taklit edebilirim?

+0

Belki bu makale size yardımcı olacaktır: https://firebase.googleblog.com/2015/04/end-to-end-testing-with-firebase-server_16.html –

cevap