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?
Belki bu makale size yardımcı olacaktır: https://firebase.googleblog.com/2015/04/end-to-end-testing-with-firebase-server_16.html –