1
0
mirror of https://github.com/bitwarden/directory-connector synced 2025-12-16 16:23:41 +00:00

Bug/refresh token fixes (#199)

* Remove NodeApi class extension and use correct apiService in services module

* lint fixes
This commit is contained in:
Robyn MacCallum
2021-12-30 15:31:19 -05:00
committed by GitHub
parent 857d725a77
commit 771a182235
3 changed files with 10 additions and 35 deletions

View File

@@ -16,6 +16,7 @@ import { JslibServicesModule } from "jslib-angular/services/jslib-services.modul
import { ContainerService } from "jslib-common/services/container.service"; import { ContainerService } from "jslib-common/services/container.service";
import { NodeApiService } from "jslib-node/services/nodeApi.service";
import { NodeCryptoFunctionService } from "jslib-node/services/nodeCryptoFunction.service"; import { NodeCryptoFunctionService } from "jslib-node/services/nodeCryptoFunction.service";
import { ApiService as ApiServiceAbstraction } from "jslib-common/abstractions/api.service"; import { ApiService as ApiServiceAbstraction } from "jslib-common/abstractions/api.service";
@@ -135,12 +136,17 @@ export function initFactory(
messagingService: MessagingServiceAbstraction, messagingService: MessagingServiceAbstraction,
injector: Injector injector: Injector
) => ) =>
new ApiService( new NodeApiService(
tokenService, tokenService,
platformUtilsService, platformUtilsService,
environmentService, environmentService,
refreshTokenCallback(injector), async (expired: boolean) => messagingService.send("logout", { expired: expired }),
async (expired: boolean) => messagingService.send("logout", { expired: expired }) "Bitwarden_DC/" +
platformUtilsService.getApplicationVersion() +
" (" +
platformUtilsService.getDeviceString().toUpperCase() +
")",
refreshTokenCallback(injector)
), ),
deps: [ deps: [
TokenServiceAbstraction, TokenServiceAbstraction,

View File

@@ -8,13 +8,13 @@ import { AuthService } from "./services/auth.service";
import { I18nService } from "./services/i18n.service"; import { I18nService } from "./services/i18n.service";
import { KeytarSecureStorageService } from "./services/keytarSecureStorage.service"; import { KeytarSecureStorageService } from "./services/keytarSecureStorage.service";
import { LowdbStorageService } from "./services/lowdbStorage.service"; import { LowdbStorageService } from "./services/lowdbStorage.service";
import { NodeApiService } from "./services/nodeApi.service";
import { StateService } from "./services/state.service"; import { StateService } from "./services/state.service";
import { StateMigrationService } from "./services/stateMigration.service"; import { StateMigrationService } from "./services/stateMigration.service";
import { SyncService } from "./services/sync.service"; import { SyncService } from "./services/sync.service";
import { CliPlatformUtilsService } from "jslib-node/cli/services/cliPlatformUtils.service"; import { CliPlatformUtilsService } from "jslib-node/cli/services/cliPlatformUtils.service";
import { ConsoleLogService } from "jslib-node/cli/services/consoleLog.service"; import { ConsoleLogService } from "jslib-node/cli/services/consoleLog.service";
import { NodeApiService } from "jslib-node/services/nodeApi.service";
import { NodeCryptoFunctionService } from "jslib-node/services/nodeCryptoFunction.service"; import { NodeCryptoFunctionService } from "jslib-node/services/nodeCryptoFunction.service";
import { AppIdService } from "jslib-common/services/appId.service"; import { AppIdService } from "jslib-common/services/appId.service";
@@ -148,7 +148,6 @@ export class Main {
this.tokenService, this.tokenService,
this.platformUtilsService, this.platformUtilsService,
this.environmentService, this.environmentService,
() => refreshToken(this.stateService, this.authService),
async (expired: boolean) => await this.logout(), async (expired: boolean) => await this.logout(),
"Bitwarden_DC/" + "Bitwarden_DC/" +
this.platformUtilsService.getApplicationVersion() + this.platformUtilsService.getApplicationVersion() +

View File

@@ -1,30 +0,0 @@
import { EnvironmentService } from "jslib-common/abstractions/environment.service";
import { PlatformUtilsService } from "jslib-common/abstractions/platformUtils.service";
import { TokenService } from "jslib-common/abstractions/token.service";
import { NodeApiService as NodeApiServiceBase } from "jslib-node/services/nodeApi.service";
export class NodeApiService extends NodeApiServiceBase {
constructor(
tokenService: TokenService,
platformUtilsService: PlatformUtilsService,
environmentService: EnvironmentService,
private refreshTokenCallback: () => Promise<void>,
logoutCallback: (expired: boolean) => Promise<void>,
customUserAgent: string = null,
apiKeyRefresh: (clientId: string, clientSecret: string) => Promise<any>
) {
super(
tokenService,
platformUtilsService,
environmentService,
logoutCallback,
customUserAgent,
apiKeyRefresh
);
}
doRefreshToken(): Promise<void> {
return this.refreshTokenCallback();
}
}