2017-02-01 5 views
5

मुझे नोड का उपयोग करके फ़ायरबेस उपयोगकर्ता को प्रमाणीकृत करने की आवश्यकता है ताकि मैं कुछ सर्वर साइड विधियों का परीक्षण कर सकूं। प्रत्येक संरक्षित अनुरोध के लिए, मैं का उपयोग कर Firebase टोकन को सत्यापित:यूनिट परीक्षणों के उपयोग के लिए सर्वर पर फायरबेस टंकन कैसे बनाएं?

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

तो अपने परीक्षण में मैं अपने Firebase डेटाबेस से uid साथ टोकन बनाया

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

बाद में मैंने पढ़ा है कि कस्टम टोकन सत्यापित नहीं कर रहे हैं सत्यापित IdToken विधि द्वारा, केवल क्लाइंट जेनरेट किए गए।

मैं इस सवाल का जवाब देखा है - server side verification of tokens in firebase

तो मैं init json को databaseAuthVariableOverride जोड़ा

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

अभी भी मेरे परीक्षण

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

और firebase त्रुटि में उत्पादन हो रही है -

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 –

उत्तर

संबंधित मुद्दे