From 987fa8b24fce3d32820be7d0dcf16988775a0afa Mon Sep 17 00:00:00 2001 From: Erik Larsson Date: Sun, 31 Jan 2021 01:17:11 +0100 Subject: [PATCH] Forward authorization header token --- plugins/scaffolder-backend/package.json | 1 + plugins/scaffolder-backend/src/service/router.ts | 9 ++------- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/plugins/scaffolder-backend/package.json b/plugins/scaffolder-backend/package.json index c9a439bea3..ecf4978ff2 100644 --- a/plugins/scaffolder-backend/package.json +++ b/plugins/scaffolder-backend/package.json @@ -34,6 +34,7 @@ "@backstage/catalog-model": "^0.7.0", "@backstage/config": "^0.1.2", "@backstage/integration": "^0.3.1", + "@backstage/plugin-auth-backend": "^0.2.12", "@gitbeaker/core": "^28.0.2", "@gitbeaker/node": "^28.0.2", "@octokit/rest": "^18.0.12", diff --git a/plugins/scaffolder-backend/src/service/router.ts b/plugins/scaffolder-backend/src/service/router.ts index cf10643de3..e522417945 100644 --- a/plugins/scaffolder-backend/src/service/router.ts +++ b/plugins/scaffolder-backend/src/service/router.ts @@ -15,6 +15,7 @@ */ import { Config } from '@backstage/config'; +import { IdentityClient } from '@backstage/plugin-auth-backend'; import Docker from 'dockerode'; import express from 'express'; import { resolve as resolvePath } from 'path'; @@ -45,11 +46,6 @@ export interface RouterOptions { entityClient: CatalogEntityClient; } -// Avoid import of @backstage/core -type BackstageIdentity = { - idToken: string; -}; - export async function createRouter( options: RouterOptions, ): Promise { @@ -103,9 +99,8 @@ export async function createRouter( }; // Forward authorization from client - const user = req.user as BackstageIdentity; const template = await entityClient.findTemplate(templateName, { - token: user?.idToken, + token: IdentityClient.getBearerToken(req.headers.authorization), }); const validationResult: ValidatorResult = validate(