File tree Expand file tree Collapse file tree 2 files changed +16
-3
lines changed
packages/passport/sdk/src Expand file tree Collapse file tree 2 files changed +16
-3
lines changed Original file line number Diff line number Diff line change @@ -460,7 +460,7 @@ describe('AuthManager', () => {
460460
461461 await expect ( ( ) => authManager . getUser ( ) ) . rejects . toThrow (
462462 new PassportError (
463- 'Failed to refresh token: oops' ,
463+ 'Failed to refresh token: oops: Failed to remove user: this.userManager.removeUser is not a function ' ,
464464 PassportErrorType . AUTHENTICATION_ERROR ,
465465 ) ,
466466 ) ;
Original file line number Diff line number Diff line change @@ -481,18 +481,31 @@ export default class AuthManager {
481481 } catch ( err ) {
482482 let passportErrorType = PassportErrorType . AUTHENTICATION_ERROR ;
483483 let errorMessage = 'Failed to refresh token' ;
484+ let removeUser = true ;
484485
485486 if ( err instanceof ErrorTimeout ) {
486487 passportErrorType = PassportErrorType . SILENT_LOGIN_ERROR ;
488+ errorMessage = `${ errorMessage } : ${ err . message } ` ;
489+ removeUser = false ;
487490 } else if ( err instanceof ErrorResponse ) {
488491 passportErrorType = PassportErrorType . NOT_LOGGED_IN_ERROR ;
489- errorMessage = `${ err . message } : ${ err . error_description } ` ;
492+ errorMessage = `${ errorMessage } : ${ err . message || err . error_description } ` ;
490493 } else if ( err instanceof Error ) {
491- errorMessage = err . message ;
494+ errorMessage = ` ${ errorMessage } : ${ err . message } ` ;
492495 } else if ( typeof err === 'string' ) {
493496 errorMessage = `${ errorMessage } : ${ err } ` ;
494497 }
495498
499+ if ( removeUser ) {
500+ try {
501+ await this . userManager . removeUser ( ) ;
502+ } catch ( removeUserError ) {
503+ if ( removeUserError instanceof Error ) {
504+ errorMessage = `${ errorMessage } : Failed to remove user: ${ removeUserError . message } ` ;
505+ }
506+ }
507+ }
508+
496509 reject ( new PassportError ( errorMessage , passportErrorType ) ) ;
497510 } finally {
498511 this . refreshingPromise = null ; // Reset the promise after completion
You can’t perform that action at this time.
0 commit comments