Skip to content

Commit 5341b82

Browse files
dplewisperil-parse-community[bot]
authored and
peril-parse-community[bot]
committed
Generate sessionToken with linkWith (#5799)
* Generate sessionToken with linkWith * improve test * Add comment
1 parent 9816285 commit 5341b82

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

spec/ParseUser.spec.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1549,6 +1549,21 @@ describe('Parse.User testing', () => {
15491549
}
15501550
});
15511551

1552+
it('link with provider should return sessionToken', async () => {
1553+
const provider = getMockFacebookProvider();
1554+
Parse.User._registerAuthenticationProvider(provider);
1555+
const user = new Parse.User();
1556+
user.set('username', 'testLinkWithProvider');
1557+
user.set('password', 'mypass');
1558+
await user.signUp();
1559+
const query = new Parse.Query(Parse.User);
1560+
const u2 = await query.get(user.id);
1561+
const model = await u2._linkWith('facebook', {}, { useMasterKey: true });
1562+
expect(u2.getSessionToken()).toBeDefined();
1563+
expect(model.getSessionToken()).toBeDefined();
1564+
expect(u2.getSessionToken()).toBe(model.getSessionToken());
1565+
});
1566+
15521567
it('link with provider failed', async done => {
15531568
const provider = getMockFacebookProvider();
15541569
provider.shouldError = true;

src/RestWrite.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -802,7 +802,8 @@ RestWrite.prototype.createSessionTokenIfNeeded = function() {
802802
if (this.className !== '_User') {
803803
return;
804804
}
805-
if (this.query) {
805+
// Don't generate session for updating user (this.query is set) unless authData exists
806+
if (this.query && !this.data.authData) {
806807
return;
807808
}
808809
if (

0 commit comments

Comments
 (0)