Merge pull request #24188 from nikolaik/nikolaik/guest-bail-no-config

guest-provider: Error if used outside of development environment
This commit is contained in:
Fredrik Adelöw
2024-04-22 12:24:43 +02:00
committed by GitHub
3 changed files with 17 additions and 8 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-auth-backend-module-guest-provider': patch
---
Error if used outside of a development environment without explicit allowance
@@ -15,12 +15,22 @@
*/
import { createProxyAuthenticator } from '@backstage/plugin-auth-node';
import { NotImplementedError } from '@backstage/errors';
export const guestAuthenticator = createProxyAuthenticator({
defaultProfileTransform: async () => {
return { profile: {} };
},
initialize() {},
initialize({ config }) {
const allowOutsideDev = config.getOptionalBoolean(
'dangerouslyAllowOutsideDevelopment',
);
if (process.env.NODE_ENV !== 'development' && allowOutsideDev !== true) {
throw new NotImplementedError(
'The guest provider cannot be used outside of a development environment',
);
}
},
async authenticate() {
return { result: {} };
},
@@ -31,16 +31,10 @@ export const authModuleGuestProvider = createBackendModule({
register(reg) {
reg.registerInit({
deps: {
logger: coreServices.logger,
providers: authProvidersExtensionPoint,
config: coreServices.rootConfig,
},
async init({ providers, logger, config }) {
if (process.env.NODE_ENV !== 'development') {
logger.warn(
'You should NOT be using the guest provider outside of a development environment.',
);
}
async init({ providers, config }) {
providers.registerProvider({
providerId: 'guest',
factory: createProxyAuthProviderFactory({