File tree 2 files changed +17
-1
lines changed
2 files changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -1549,6 +1549,21 @@ describe('Parse.User testing', () => {
1549
1549
}
1550
1550
} ) ;
1551
1551
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
+
1552
1567
it ( 'link with provider failed' , async done => {
1553
1568
const provider = getMockFacebookProvider ( ) ;
1554
1569
provider . shouldError = true ;
Original file line number Diff line number Diff line change @@ -802,7 +802,8 @@ RestWrite.prototype.createSessionTokenIfNeeded = function() {
802
802
if ( this . className !== '_User' ) {
803
803
return ;
804
804
}
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 ) {
806
807
return ;
807
808
}
808
809
if (
You can’t perform that action at this time.
0 commit comments