UNPKG

@backstage/backend-defaults

Version:

Backend defaults used by Backstage backend apps

80 lines (76 loc) 2.54 kB
'use strict'; var backendPluginApi = require('@backstage/backend-plugin-api'); var DefaultAuthService = require('./DefaultAuthService.cjs.js'); var ExternalTokenHandler = require('./external/ExternalTokenHandler.cjs.js'); var PluginTokenHandler = require('./plugin/PluginTokenHandler.cjs.js'); var createPluginKeySource = require('./plugin/keys/createPluginKeySource.cjs.js'); var UserTokenHandler = require('./user/UserTokenHandler.cjs.js'); const pluginTokenHandlerDecoratorServiceRef = backendPluginApi.createServiceRef({ id: "core.auth.pluginTokenHandlerDecorator", defaultFactory: async (service) => backendPluginApi.createServiceFactory({ service, deps: {}, factory: async () => { return (impl) => impl; } }) }); const authServiceFactory = backendPluginApi.createServiceFactory({ service: backendPluginApi.coreServices.auth, deps: { config: backendPluginApi.coreServices.rootConfig, logger: backendPluginApi.coreServices.logger, discovery: backendPluginApi.coreServices.discovery, plugin: backendPluginApi.coreServices.pluginMetadata, database: backendPluginApi.coreServices.database, pluginTokenHandlerDecorator: pluginTokenHandlerDecoratorServiceRef }, async factory({ config, discovery, plugin, logger, database, pluginTokenHandlerDecorator }) { const disableDefaultAuthPolicy = config.getOptionalBoolean( "backend.auth.dangerouslyDisableDefaultAuthPolicy" ) ?? false; const keyDuration = { hours: 1 }; const keySource = await createPluginKeySource.createPluginKeySource({ config, database, logger, keyDuration }); const userTokens = UserTokenHandler.UserTokenHandler.create({ discovery, logger }); const pluginTokens = pluginTokenHandlerDecorator( PluginTokenHandler.DefaultPluginTokenHandler.create({ ownPluginId: plugin.getId(), logger, keySource, keyDuration, discovery }) ); const externalTokens = ExternalTokenHandler.ExternalTokenHandler.create({ ownPluginId: plugin.getId(), config, logger }); return new DefaultAuthService.DefaultAuthService( userTokens, pluginTokens, externalTokens, plugin.getId(), disableDefaultAuthPolicy, keySource ); } }); exports.authServiceFactory = authServiceFactory; exports.pluginTokenHandlerDecoratorServiceRef = pluginTokenHandlerDecoratorServiceRef; //# sourceMappingURL=authServiceFactory.cjs.js.map