Apply credential stripping to all untransforms for _User (#1498)
This commit is contained in:
@@ -7,6 +7,9 @@ var rest = require('../src/rest');
|
|||||||
var querystring = require('querystring');
|
var querystring = require('querystring');
|
||||||
var request = require('request');
|
var request = require('request');
|
||||||
|
|
||||||
|
var DatabaseAdapter = require('../src/DatabaseAdapter');
|
||||||
|
var database = DatabaseAdapter.getDatabaseConnection('test', 'test_');
|
||||||
|
|
||||||
var config = new Config('test');
|
var config = new Config('test');
|
||||||
var nobody = auth.nobody(config);
|
var nobody = auth.nobody(config);
|
||||||
|
|
||||||
@@ -35,6 +38,44 @@ describe('rest query', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('query for user w/ legacy credentials', () => {
|
||||||
|
var data = {
|
||||||
|
username: 'blah',
|
||||||
|
password: 'pass',
|
||||||
|
sessionToken: 'abc123',
|
||||||
|
}
|
||||||
|
describe('without masterKey', () => {
|
||||||
|
it('has them stripped from results', (done) => {
|
||||||
|
database.adaptiveCollection('_User').then((collection) => {
|
||||||
|
return collection.insertOne(data);
|
||||||
|
}).then(() => {
|
||||||
|
return rest.find(config, nobody, '_User')
|
||||||
|
}).then((result) => {
|
||||||
|
var user = result.results[0];
|
||||||
|
expect(user.username).toEqual('blah');
|
||||||
|
expect(user.sessionToken).toBeUndefined();
|
||||||
|
expect(user.password).toBeUndefined();
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe('with masterKey', () => {
|
||||||
|
it('has them stripped from results', (done) => {
|
||||||
|
database.adaptiveCollection('_User').then((collection) => {
|
||||||
|
return collection.insertOne(data);
|
||||||
|
}).then(() => {
|
||||||
|
return rest.find(config, {isMaster: true}, '_User')
|
||||||
|
}).then((result) => {
|
||||||
|
var user = result.results[0];
|
||||||
|
expect(user.username).toEqual('blah');
|
||||||
|
expect(user.sessionToken).toBeUndefined();
|
||||||
|
expect(user.password).toBeUndefined();
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// Created to test a scenario in AnyPic
|
// Created to test a scenario in AnyPic
|
||||||
it('query with include', (done) => {
|
it('query with include', (done) => {
|
||||||
var photo = {
|
var photo = {
|
||||||
|
|||||||
@@ -119,12 +119,13 @@ DatabaseController.prototype.untransformObject = function(
|
|||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
delete object.authData;
|
||||||
|
delete object.sessionToken;
|
||||||
|
|
||||||
if (isMaster || (aclGroup.indexOf(object.objectId) > -1)) {
|
if (isMaster || (aclGroup.indexOf(object.objectId) > -1)) {
|
||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
delete object.authData;
|
|
||||||
delete object.sessionToken;
|
|
||||||
return object;
|
return object;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user