diff --git a/src/external_app/external_auth.ts b/src/external_app/external_auth.ts index f1624e77d6..cf7cf41804 100644 --- a/src/external_app/external_auth.ts +++ b/src/external_app/external_auth.ts @@ -68,8 +68,14 @@ export class ExternalAuth extends Auth { public async refreshAccessToken(force?: boolean) { if (this._tokenCallbackPromise && !force) { - await this._tokenCallbackPromise; - return; + try { + await this._tokenCallbackPromise; + return; + } catch (e) { + // _tokenCallbackPromise is in a rejected state + // Clear the _tokenCallbackPromise and go on refreshing access token + this._tokenCallbackPromise = undefined; + } } const payload: GetExternalAuthPayload = { callback: CALLBACK_SET_TOKEN,