fix: sync device scopes on token rotation

This commit is contained in:
Peter Steinberger
2026-01-20 10:45:48 +00:00
parent 322c8dc4fc
commit e5f7435d9f
2 changed files with 4 additions and 0 deletions

View File

@@ -31,6 +31,7 @@ describe("device pairing tokens", () => {
});
let paired = await getPairedDevice("device-1", baseDir);
expect(paired?.tokens?.operator?.scopes).toEqual(["operator.read"]);
expect(paired?.scopes).toEqual(["operator.read"]);
await rotateDeviceToken({
deviceId: "device-1",

View File

@@ -472,6 +472,9 @@ export async function rotateDeviceToken(params: {
};
tokens[role] = next;
device.tokens = tokens;
if (params.scopes !== undefined) {
device.scopes = requestedScopes;
}
state.pairedByDeviceId[device.deviceId] = device;
await persistState(state, params.baseDir);
return next;