Merge pull request #12542 from RoadieHQ/identity-api-client-interface

Identity api client interface
This commit is contained in:
Patrik Oldsberg
2022-09-01 12:44:19 +02:00
committed by GitHub
33 changed files with 1969 additions and 680 deletions
+6
View File
@@ -59,6 +59,7 @@ import jenkins from './plugins/jenkins';
import permission from './plugins/permission';
import { PluginEnvironment } from './types';
import { ServerPermissionClient } from '@backstage/plugin-permission-node';
import { DefaultIdentityClient } from '@backstage/plugin-auth-node';
function makeCreateEnv(config: Config) {
const root = getRootLogger();
@@ -72,6 +73,9 @@ function makeCreateEnv(config: Config) {
const databaseManager = DatabaseManager.fromConfig(config, { logger: root });
const cacheManager = CacheManager.fromConfig(config);
const taskScheduler = TaskScheduler.fromConfig(config);
const identity = DefaultIdentityClient.create({
discovery,
});
root.info(`Created UrlReader ${reader}`);
@@ -80,6 +84,7 @@ function makeCreateEnv(config: Config) {
const database = databaseManager.forPlugin(plugin);
const cache = cacheManager.forPlugin(plugin);
const scheduler = taskScheduler.forPlugin(plugin);
return {
logger,
cache,
@@ -90,6 +95,7 @@ function makeCreateEnv(config: Config) {
tokenManager,
permissions,
scheduler,
identity,
};
};
}
+1 -5
View File
@@ -14,7 +14,6 @@
* limitations under the License.
*/
import { IdentityClient } from '@backstage/plugin-auth-node';
import { createRouter } from '@backstage/plugin-permission-backend';
import {
AuthorizeResult,
@@ -40,9 +39,6 @@ export default async function createPlugin(
logger: env.logger,
discovery: env.discovery,
policy: new AllowAllPermissionPolicy(),
identity: IdentityClient.create({
discovery: env.discovery,
issuer: await env.discovery.getExternalBaseUrl('auth'),
}),
identity: env.identity,
});
}
@@ -32,5 +32,6 @@ export default async function createPlugin(
database: env.database,
catalogClient: catalogClient,
reader: env.reader,
identity: env.identity,
});
}
+2
View File
@@ -28,6 +28,7 @@ import {
PermissionAuthorizer,
PermissionEvaluator,
} from '@backstage/plugin-permission-common';
import { IdentityApi } from '@backstage/plugin-auth-node';
export type PluginEnvironment = {
logger: Logger;
@@ -39,4 +40,5 @@ export type PluginEnvironment = {
tokenManager: TokenManager;
permissions: PermissionEvaluator | PermissionAuthorizer;
scheduler: PluginTaskScheduler;
identity: IdentityApi;
};
+2
View File
@@ -49,6 +49,7 @@ import { version as theme } from '../../../theme/package.json';
import { version as pluginApiDocs } from '../../../../plugins/api-docs/package.json';
import { version as pluginAppBackend } from '../../../../plugins/app-backend/package.json';
import { version as pluginAuthBackend } from '../../../../plugins/auth-backend/package.json';
import { version as pluginAuthNode } from '../../../../plugins/auth-node/package.json';
import { version as pluginCatalog } from '../../../../plugins/catalog/package.json';
import { version as pluginCatalogCommon } from '../../../../plugins/catalog-common/package.json';
import { version as pluginCatalogReact } from '../../../../plugins/catalog-react/package.json';
@@ -96,6 +97,7 @@ export const packageVersions = {
'@backstage/plugin-api-docs': pluginApiDocs,
'@backstage/plugin-app-backend': pluginAppBackend,
'@backstage/plugin-auth-backend': pluginAuthBackend,
'@backstage/plugin-auth-node': pluginAuthNode,
'@backstage/plugin-catalog': pluginCatalog,
'@backstage/plugin-catalog-common': pluginCatalogCommon,
'@backstage/plugin-catalog-react': pluginCatalogReact,
@@ -24,6 +24,7 @@
"@backstage/config": "^{{version '@backstage/config'}}",
"@backstage/plugin-app-backend": "^{{version '@backstage/plugin-app-backend'}}",
"@backstage/plugin-auth-backend": "^{{version '@backstage/plugin-auth-backend'}}",
"@backstage/plugin-auth-node": "^{{version '@backstage/plugin-auth-node'}}",
"@backstage/plugin-catalog-backend": "^{{version '@backstage/plugin-catalog-backend'}}",
"@backstage/plugin-permission-common": "^{{version '@backstage/plugin-permission-common'}}",
"@backstage/plugin-permission-node": "^{{version '@backstage/plugin-permission-node'}}",
@@ -30,6 +30,7 @@ import techdocs from './plugins/techdocs';
import search from './plugins/search';
import { PluginEnvironment } from './types';
import { ServerPermissionClient } from '@backstage/plugin-permission-node';
import { DefaultIdentityClient } from '@backstage/plugin-auth-node';
function makeCreateEnv(config: Config) {
const root = getRootLogger();
@@ -39,6 +40,10 @@ function makeCreateEnv(config: Config) {
const databaseManager = DatabaseManager.fromConfig(config, { logger: root });
const tokenManager = ServerTokenManager.noop();
const taskScheduler = TaskScheduler.fromConfig(config);
const identity = DefaultIdentityClient.create({
discovery,
});
const permissions = ServerPermissionClient.fromConfig(config, {
discovery,
tokenManager,
@@ -61,6 +66,7 @@ function makeCreateEnv(config: Config) {
tokenManager,
scheduler,
permissions,
identity,
};
};
}
@@ -16,5 +16,6 @@ export default async function createPlugin(
database: env.database,
reader: env.reader,
catalogClient,
identity: env.identity,
});
}
@@ -9,6 +9,7 @@ import {
} from '@backstage/backend-common';
import { PluginTaskScheduler } from '@backstage/backend-tasks';
import { PermissionEvaluator } from '@backstage/plugin-permission-common';
import { IdentityApi } from '@backstage/plugin-auth-node';
export type PluginEnvironment = {
logger: Logger;
@@ -20,4 +21,5 @@ export type PluginEnvironment = {
tokenManager: TokenManager;
scheduler: PluginTaskScheduler;
permissions: PermissionEvaluator;
identity: IdentityApi;
};