File tree Expand file tree Collapse file tree 2 files changed +17
-1
lines changed Expand file tree Collapse file tree 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', () => {
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 ;
Original file line number Diff line number Diff 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 (
You can’t perform that action at this time.
0 commit comments