मैं एक हेरोकू नोड कार्य बनाने की कोशिश कर रहा हूं जो फ़ायरबेस और console.log से डेटा पढ़ता है।फायरबेस निजी के साथ समस्या से बचने के लिए हेरोोक कॉन्फ़िगरेशन चर के रूप में
मेरे नोड लिपि (/ bin निर्देशिका के अंदर स्थित) है:
require('dotenv').config({ silent: true });
var firebase = require('firebase');
firebase.initializeApp({
serviceAccount: {
projectId: process.env.fb_projectId,
clientEmail: process.env.fb_clientEmail,
privateKey: process.env.fb_privateKey
},
databaseURL: process.env.fb_databaseURL
})
console.log(process.env.fb_privateKey);
firebase.database().ref('tasks').once('value', function(snapshot) {
console.log(snapshot.val());
process.exit();
})
सभी env चर सही हैं, fb_privateKey
को छोड़कर, क्योंकि यह \n
वर्ण हैं। "
से घिरा हुआ -
दोनों अपने स्थानीय .env
फ़ाइल और Heroku वातावरण चर fb_privateKey
नाम के एक प्रमुख और \n
पात्रों के साथ एक स्ट्रिंग के रूप कोई मान होगा।
fb_privateKey="-----BEGIN PRIVATE KEY-----\nMY-PRIVATE-KEY\n-----END PRIVATE KEY-----\n"
जब मैं स्थानीय रूप से स्क्रिप्ट चलाता हूं, तो यह मुझे नई लाइनों + फ़ायरबेस से लौटाए गए कार्यों के साथ निजी कुंजी लॉग करता है। हालांकि, जब मैं इसे हेरोकू पर चलाता हूं, (heroku run myScript
) मुझे \n
वर्णों (एक पंक्ति के रूप में) के साथ निजी कुंजी लॉग करता है और फ़ायरबेस (संभवतः खराब निजी कुंजी के कारण) से डेटा पढ़ने में विफल रहता है। कोई विचार?
आपको ईरम के उत्तर को सही के रूप में चिह्नित करना चाहिए। – skwny