permission: clarify resourceRef error

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
This commit is contained in:
Vincenzo Scamporlino
2025-04-09 16:01:42 +02:00
parent 7a88f85f2f
commit ebe9b13b0a
@@ -236,15 +236,19 @@ export async function createRouter(
const body = parseResult.data;
if (
!(credentials.principal as BackstageUserPrincipal).issuedBy &&
body.items.some(
r =>
isResourcePermission(r.permission) && r.resourceRef === undefined,
)
auth.isPrincipal(credentials, 'none') ||
(auth.isPrincipal(credentials, 'user') && !credentials.principal.actor)
) {
throw new InputError(
'Resource permissions require a resourceRef to be set',
);
if (
body.items.some(
r =>
isResourcePermission(r.permission) && r.resourceRef === undefined,
)
) {
throw new InputError(
'Resource permissions require a resourceRef to be set. Direct user requests without a resourceRef are not allowed.',
);
}
}
res.json({