fix: sync device scopes on token rotation
This commit is contained in:
@@ -31,6 +31,7 @@ describe("device pairing tokens", () => {
|
|||||||
});
|
});
|
||||||
let paired = await getPairedDevice("device-1", baseDir);
|
let paired = await getPairedDevice("device-1", baseDir);
|
||||||
expect(paired?.tokens?.operator?.scopes).toEqual(["operator.read"]);
|
expect(paired?.tokens?.operator?.scopes).toEqual(["operator.read"]);
|
||||||
|
expect(paired?.scopes).toEqual(["operator.read"]);
|
||||||
|
|
||||||
await rotateDeviceToken({
|
await rotateDeviceToken({
|
||||||
deviceId: "device-1",
|
deviceId: "device-1",
|
||||||
|
|||||||
@@ -472,6 +472,9 @@ export async function rotateDeviceToken(params: {
|
|||||||
};
|
};
|
||||||
tokens[role] = next;
|
tokens[role] = next;
|
||||||
device.tokens = tokens;
|
device.tokens = tokens;
|
||||||
|
if (params.scopes !== undefined) {
|
||||||
|
device.scopes = requestedScopes;
|
||||||
|
}
|
||||||
state.pairedByDeviceId[device.deviceId] = device;
|
state.pairedByDeviceId[device.deviceId] = device;
|
||||||
await persistState(state, params.baseDir);
|
await persistState(state, params.baseDir);
|
||||||
return next;
|
return next;
|
||||||
|
|||||||
Reference in New Issue
Block a user