Skip to content

Commit c81f48a

Browse files
yuzehdrew-gross
authored andcommitted
don't serve null authData values (#2320)
1 parent 025482e commit c81f48a

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

spec/ParseUser.spec.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2257,6 +2257,27 @@ describe('Parse.User testing', () => {
22572257
})
22582258
});
22592259

2260+
it_exclude_dbs(['postgres'])('should not serve null authData keys', (done) => {
2261+
let database = new Config(Parse.applicationId).database;
2262+
database.create('_User', {
2263+
username: 'user',
2264+
_hashed_password: '$2a$10$8/wZJyEuiEaobBBqzTG.jeY.XSFJd0rzaN//ososvEI4yLqI.4aie',
2265+
_auth_data_facebook: null
2266+
}, {}).then(() => {
2267+
return new Parse.Query(Parse.User)
2268+
.equalTo('username', 'user')
2269+
.first({useMasterKey: true});
2270+
}).then((user) => {
2271+
let authData = user.get('authData');
2272+
expect(user.get('username')).toEqual('user');
2273+
expect(authData).toBeUndefined();
2274+
done();
2275+
}).catch((err) => {
2276+
fail('this should not fail');
2277+
done();
2278+
})
2279+
});
2280+
22602281
it_exclude_dbs(['postgres'])('should cleanup null authData keys ParseUser update (regression test for #1198, #2252)', (done) => {
22612282
Parse.Cloud.beforeSave('_User', (req, res) => {
22622283
req.object.set('foo', 'bar');

src/RestQuery.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,17 @@ RestQuery.prototype.runFind = function() {
394394
if (this.className === '_User') {
395395
for (var result of results) {
396396
delete result.password;
397+
398+
if (result.authData) {
399+
Object.keys(result.authData).forEach((provider) => {
400+
if (result.authData[provider] === null) {
401+
delete result.authData[provider];
402+
}
403+
});
404+
if (Object.keys(result.authData).length == 0) {
405+
delete result.authData;
406+
}
407+
}
397408
}
398409
}
399410

0 commit comments

Comments
 (0)