diff --git a/packages/core/src/services/session/aws/aws-iam-role-chained-service.ts b/packages/core/src/services/session/aws/aws-iam-role-chained-service.ts index 94369c815..d80f81d72 100644 --- a/packages/core/src/services/session/aws/aws-iam-role-chained-service.ts +++ b/packages/core/src/services/session/aws/aws-iam-role-chained-service.ts @@ -99,10 +99,6 @@ export class AwsIamRoleChainedService extends AwsSessionService { return await this.fileService.replaceWriteSync(this.awsCoreService.awsCredentialPath(), credentialsFile); } - generateCredentialsProxy(sessionId: string): Promise { - return this.generateCredentials(sessionId); - } - async generateCredentials(sessionId: string): Promise { // Retrieve Session const session = this.repository.getSessionById(sessionId); diff --git a/packages/core/src/services/session/aws/aws-iam-role-federated-service.ts b/packages/core/src/services/session/aws/aws-iam-role-federated-service.ts index 00cb5c3ec..d5dcac9bb 100644 --- a/packages/core/src/services/session/aws/aws-iam-role-federated-service.ts +++ b/packages/core/src/services/session/aws/aws-iam-role-federated-service.ts @@ -90,10 +90,6 @@ export class AwsIamRoleFederatedService extends AwsSessionService { return await this.fileService.replaceWriteSync(this.awsCoreService.awsCredentialPath(), credentialsFile); } - generateCredentialsProxy(sessionId: string): Promise { - return this.generateCredentials(sessionId); - } - async generateCredentials(sessionId: string): Promise { // Get the session in question const session = this.repository.getSessionById(sessionId); diff --git a/packages/core/src/services/session/aws/aws-iam-user-service.ts b/packages/core/src/services/session/aws/aws-iam-user-service.ts index 5c2b1aa91..c59ccacd5 100644 --- a/packages/core/src/services/session/aws/aws-iam-user-service.ts +++ b/packages/core/src/services/session/aws/aws-iam-user-service.ts @@ -128,19 +128,14 @@ export class AwsIamUserService extends AwsSessionService { return await this.fileService.replaceWriteSync(this.awsCoreService.awsCredentialPath(), credentialsFile); } - generateCredentialsProxy(sessionId: string): Promise { - return new Promise((resolve, reject) => { + async generateCredentialsProxy(sessionId: string): Promise { + try { this.mfaCodePrompterProxy = this.remoteMfaCodePrompter; - this.generateCredentials(sessionId) - .then((credentialsInfo: CredentialsInfo) => { - this.mfaCodePrompterProxy = this.localMfaCodePrompter; - resolve(credentialsInfo); - }) - .catch((err) => { - this.mfaCodePrompterProxy = this.localMfaCodePrompter; - reject(err); - }); - }); + const credentialsInfo = await this.generateCredentials(sessionId) + return credentialsInfo; + } finally { + this.mfaCodePrompterProxy = this.localMfaCodePrompter; + } } async generateCredentials(sessionId: string): Promise { diff --git a/packages/core/src/services/session/aws/aws-session-service.ts b/packages/core/src/services/session/aws/aws-session-service.ts index 358a45ec8..73b325b5e 100644 --- a/packages/core/src/services/session/aws/aws-session-service.ts +++ b/packages/core/src/services/session/aws/aws-session-service.ts @@ -168,9 +168,11 @@ export abstract class AwsSessionService extends SessionService { } } - abstract getAccountNumberFromCallerIdentity(session: Session): Promise; + generateCredentialsProxy(sessionId: string): Promise { + return this.generateCredentials(sessionId); + } - abstract generateCredentialsProxy(sessionId: string): Promise; + abstract getAccountNumberFromCallerIdentity(session: Session): Promise; abstract generateCredentials(sessionId: string): Promise; diff --git a/packages/core/src/services/session/aws/aws-sso-role-service.ts b/packages/core/src/services/session/aws/aws-sso-role-service.ts index a3754d49f..2010dbf6a 100644 --- a/packages/core/src/services/session/aws/aws-sso-role-service.ts +++ b/packages/core/src/services/session/aws/aws-sso-role-service.ts @@ -138,10 +138,6 @@ export class AwsSsoRoleService extends AwsSessionService implements BrowserWindo await this.fileService.replaceWriteSync(this.awsCoreService.awsCredentialPath(), credentialsFile); } - generateCredentialsProxy(sessionId: string): Promise { - return this.generateCredentials(sessionId); - } - async generateCredentials(sessionId: string): Promise { const session: AwsSsoRoleSession = this.repository.getSessionById(sessionId) as AwsSsoRoleSession; const awsSsoConfiguration = this.repository.getAwsSsoIntegration(session.awsSsoConfigurationId);