fix(authz): require email approval for native layout signing

This commit is contained in:
冰朔 2026-08-03 00:00:04 +08:00
commit a385249819
5 changed files with 92 additions and 1 deletions

View file

@ -40,6 +40,7 @@ class WorkOrderManager {
approvalHash: "",
claimHash: hash(claimToken),
emailSentAt: 0,
approvalChannel: "",
state: "pending",
claimed: false,
});
@ -98,6 +99,7 @@ class WorkOrderManager {
const order = this.workorders.get(inspected.order.id);
order.state = "approved";
order.approvedAt = now;
order.approvalChannel = "email";
order.approvalHash = "";
order.handoffHash = "";
this.persist();
@ -134,6 +136,7 @@ class WorkOrderManager {
}
order.state = "approved";
order.approvedAt = now;
order.approvalChannel = "guanghu_router";
order.approvalHash = "";
order.handoffHash = "";
this.persist();
@ -157,6 +160,7 @@ class WorkOrderManager {
actions: order.allowedActions || [order.action],
resource: order.resource || "",
authorizerId: order.authorizerId || "",
approvalChannel: order.approvalChannel || "legacy_unspecified",
createdAt: now,
expiresAt: now + this.sessionTtl,
maxExpiresAt: now + this.maxSessionLifetime,