From bc9a205b864bb9fdde0b904ebc63faf9de8ea286 Mon Sep 17 00:00:00 2001 From: MT Lewis Date: Tue, 21 Dec 2021 09:50:54 +0000 Subject: [PATCH] backend-common: remove isSecure property in favour of a property on the NoopServerTokenManager Signed-off-by: MT Lewis --- packages/backend-common/api-report.md | 3 --- packages/backend-common/src/tokens/ServerTokenManager.ts | 3 +-- packages/backend-common/src/tokens/types.ts | 6 ------ .../src/search/DefaultCatalogCollator.test.ts | 1 - plugins/permission-node/src/ServerPermissionClient.ts | 5 ++++- .../src/search/DefaultTechDocsCollator.test.ts | 2 -- 6 files changed, 5 insertions(+), 15 deletions(-) diff --git a/packages/backend-common/api-report.md b/packages/backend-common/api-report.md index c774e6baa3..b929251890 100644 --- a/packages/backend-common/api-report.md +++ b/packages/backend-common/api-report.md @@ -502,8 +502,6 @@ export class ServerTokenManager implements TokenManager { token: string; }>; // (undocumented) - readonly isSecure: boolean; - // (undocumented) static noop(): TokenManager; } @@ -574,7 +572,6 @@ export interface TokenManager { getToken: () => Promise<{ token: string; }>; - isSecure: boolean; } // @public diff --git a/packages/backend-common/src/tokens/ServerTokenManager.ts b/packages/backend-common/src/tokens/ServerTokenManager.ts index 82ef5b8401..a3481c2f97 100644 --- a/packages/backend-common/src/tokens/ServerTokenManager.ts +++ b/packages/backend-common/src/tokens/ServerTokenManager.ts @@ -21,7 +21,7 @@ import { TokenManager } from './types'; import { Logger } from 'winston'; class NoopTokenManager implements TokenManager { - public readonly isSecure: boolean = false; + public readonly isInsecureServerTokenManager: boolean = true; async getToken() { return { token: '' }; @@ -39,7 +39,6 @@ class NoopTokenManager implements TokenManager { export class ServerTokenManager implements TokenManager { private readonly verificationKeys: JWKS.KeyStore; private readonly signingKey: JWK.Key; - public readonly isSecure: boolean = true; static noop(): TokenManager { return new NoopTokenManager(); diff --git a/packages/backend-common/src/tokens/types.ts b/packages/backend-common/src/tokens/types.ts index 2be1936885..1fea018db9 100644 --- a/packages/backend-common/src/tokens/types.ts +++ b/packages/backend-common/src/tokens/types.ts @@ -20,12 +20,6 @@ * @public */ export interface TokenManager { - /** - * This property should be true when the token manager is expected to only - * authenticate tokens created by itself, or an equivalently-constructed - * instance. - */ - isSecure: boolean; getToken: () => Promise<{ token: string }>; authenticate: (token: string) => Promise; } diff --git a/plugins/catalog-backend/src/search/DefaultCatalogCollator.test.ts b/plugins/catalog-backend/src/search/DefaultCatalogCollator.test.ts index 81f728b862..1360ca2647 100644 --- a/plugins/catalog-backend/src/search/DefaultCatalogCollator.test.ts +++ b/plugins/catalog-backend/src/search/DefaultCatalogCollator.test.ts @@ -67,7 +67,6 @@ describe('DefaultCatalogCollator', () => { getExternalBaseUrl: jest.fn(), }; mockTokenManager = { - isSecure: true, getToken: jest.fn().mockResolvedValue({ token: '' }), authenticate: jest.fn(), }; diff --git a/plugins/permission-node/src/ServerPermissionClient.ts b/plugins/permission-node/src/ServerPermissionClient.ts index a6f3488851..c85cc7048b 100644 --- a/plugins/permission-node/src/ServerPermissionClient.ts +++ b/plugins/permission-node/src/ServerPermissionClient.ts @@ -51,7 +51,10 @@ export class ServerPermissionClient implements PermissionAuthorizer { const permissionEnabled = config.getOptionalBoolean('permission.enabled') ?? false; - if (permissionEnabled && !tokenManager.isSecure) { + if ( + permissionEnabled && + (tokenManager as any).isInsecureServerTokenManager + ) { throw new Error( 'You must configure at least one key in backend.auth.keys if permissions are enabled.', ); diff --git a/plugins/techdocs-backend/src/search/DefaultTechDocsCollator.test.ts b/plugins/techdocs-backend/src/search/DefaultTechDocsCollator.test.ts index 6f38d5291d..5f0bed55dd 100644 --- a/plugins/techdocs-backend/src/search/DefaultTechDocsCollator.test.ts +++ b/plugins/techdocs-backend/src/search/DefaultTechDocsCollator.test.ts @@ -99,7 +99,6 @@ describe('DefaultTechDocsCollator with legacyPathCasing configuration', () => { getExternalBaseUrl: jest.fn(), }; mockTokenManager = { - isSecure: true, getToken: jest.fn().mockResolvedValue({ token: '' }), authenticate: jest.fn(), }; @@ -166,7 +165,6 @@ describe('DefaultTechDocsCollator', () => { getExternalBaseUrl: jest.fn(), }; mockTokenManager = { - isSecure: true, getToken: jest.fn().mockResolvedValue({ token: '' }), authenticate: jest.fn(), };