don't serve null authData values (#2320)
This commit is contained in:
@@ -2257,6 +2257,27 @@ describe('Parse.User testing', () => {
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it_exclude_dbs(['postgres'])('should not serve null authData keys', (done) => {
|
||||||
|
let database = new Config(Parse.applicationId).database;
|
||||||
|
database.create('_User', {
|
||||||
|
username: 'user',
|
||||||
|
_hashed_password: '$2a$10$8/wZJyEuiEaobBBqzTG.jeY.XSFJd0rzaN//ososvEI4yLqI.4aie',
|
||||||
|
_auth_data_facebook: null
|
||||||
|
}, {}).then(() => {
|
||||||
|
return new Parse.Query(Parse.User)
|
||||||
|
.equalTo('username', 'user')
|
||||||
|
.first({useMasterKey: true});
|
||||||
|
}).then((user) => {
|
||||||
|
let authData = user.get('authData');
|
||||||
|
expect(user.get('username')).toEqual('user');
|
||||||
|
expect(authData).toBeUndefined();
|
||||||
|
done();
|
||||||
|
}).catch((err) => {
|
||||||
|
fail('this should not fail');
|
||||||
|
done();
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
it_exclude_dbs(['postgres'])('should cleanup null authData keys ParseUser update (regression test for #1198, #2252)', (done) => {
|
it_exclude_dbs(['postgres'])('should cleanup null authData keys ParseUser update (regression test for #1198, #2252)', (done) => {
|
||||||
Parse.Cloud.beforeSave('_User', (req, res) => {
|
Parse.Cloud.beforeSave('_User', (req, res) => {
|
||||||
req.object.set('foo', 'bar');
|
req.object.set('foo', 'bar');
|
||||||
|
|||||||
@@ -394,6 +394,17 @@ RestQuery.prototype.runFind = function() {
|
|||||||
if (this.className === '_User') {
|
if (this.className === '_User') {
|
||||||
for (var result of results) {
|
for (var result of results) {
|
||||||
delete result.password;
|
delete result.password;
|
||||||
|
|
||||||
|
if (result.authData) {
|
||||||
|
Object.keys(result.authData).forEach((provider) => {
|
||||||
|
if (result.authData[provider] === null) {
|
||||||
|
delete result.authData[provider];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (Object.keys(result.authData).length == 0) {
|
||||||
|
delete result.authData;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user