@backstage/backend-defaults
Version:
Backend defaults used by Backstage backend apps
80 lines (76 loc) • 2.54 kB
JavaScript
;
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