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(), };