From 59137ff3c8a6cdbe9ed7d0c7a9f9b70aacff87a2 Mon Sep 17 00:00:00 2001 From: blam Date: Wed, 16 Oct 2024 10:57:46 +0200 Subject: [PATCH] fix: forwarding of non-enumerable property Signed-off-by: blam --- .changeset/mean-years-deliver.md | 5 +++++ plugins/scaffolder-backend/src/service/router.ts | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 .changeset/mean-years-deliver.md diff --git a/.changeset/mean-years-deliver.md b/.changeset/mean-years-deliver.md new file mode 100644 index 0000000000..82b4a12688 --- /dev/null +++ b/.changeset/mean-years-deliver.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': patch +--- + +Fix issue with token not being available because it's now non-enumerable diff --git a/plugins/scaffolder-backend/src/service/router.ts b/plugins/scaffolder-backend/src/service/router.ts index 80406496d2..35dacf6559 100644 --- a/plugins/scaffolder-backend/src/service/router.ts +++ b/plugins/scaffolder-backend/src/service/router.ts @@ -493,6 +493,7 @@ export async function createRouter( }); const credentials = await httpAuth.credentials(req); + await checkPermission({ credentials, permissions: [taskCreatePermission], @@ -563,7 +564,11 @@ export async function createRouter( const secrets: InternalTaskSecrets = { ...req.body.secrets, backstageToken: token, - __initiatorCredentials: JSON.stringify(credentials), + __initiatorCredentials: JSON.stringify({ + ...credentials, + // credentials.token is nonenumerable and will not be serialized, so we need to add it explicitly + token: (credentials as any).token, + }), }; const result = await taskBroker.dispatch({