Files
firebase-tools/lib/acquireRefs.js
Revan Sopher 9f2c5dcb0f Admin/deploy bypasses for functions testing (#198)
* If only deploying Functions, don't contact deploy server.

* Expose envvar to bypass calls to admin server.
2017-03-29 13:04:12 -07:00

31 lines
979 B
JavaScript

'use strict';
var FirebaseError = require('./error');
var api = require('./api');
var Firebase = require('firebase');
var RSVP = require('rsvp');
var utils = require('./utils');
var requireAccess = require('./requireAccess');
module.exports = function(options, authScopes) {
return requireAccess(options, authScopes).then(function() {
return new RSVP.Promise(function(resolve, reject) {
if (process.env.FIREBASE_BYPASS_ADMIN_CALLS_FOR_TESTING === 'true') {
// requireAccess() hasn't set the metadataToken, so can't auth.
resolve();
}
var firebaseRef = new Firebase(utils.addSubdomain(api.realtimeOrigin, 'firebase'));
firebaseRef.authWithCustomToken(options.metadataToken, function(err) {
if (err) {
return reject(new FirebaseError('Failed to authenticate to Firebase', {
original: err
}));
}
options.firebaseRef = firebaseRef;
resolve();
});
});
});
};