Add explicit instance variable to denote the given token manager's scope of authentication

Signed-off-by: Joon Park <joonp@spotify.com>
This commit is contained in:
Joon Park
2021-12-17 15:32:09 +00:00
parent 0e8ec6d974
commit f898c014ca
7 changed files with 16 additions and 8 deletions
@@ -16,7 +16,6 @@
import {
TokenManager,
ServerTokenManager,
PluginEndpointDiscovery,
} from '@backstage/backend-common';
import { Config } from '@backstage/config';
@@ -50,12 +49,7 @@ export class ServerPermissionClient implements PermissionAuthorizer {
const permissionEnabled =
config.getOptionalBoolean('permission.enabled') ?? false;
if (
permissionEnabled &&
// TODO: Find a cleaner way of ensuring usage of SERVER token manager when
// permissions are enabled.
tokenManager instanceof ServerTokenManager.noop().constructor
) {
if (permissionEnabled && !tokenManager.isSecure) {
throw new Error(
'You must configure at least one key in backend.auth.keys if permissions are enabled.',
);