Skip to content

Commit 23c802c

Browse files
committed
feat: 急救包 (Emergency Kit) 功能增强, 在急救包 PDF 中增加 NODEAUTH_LICENSE,确保重新部署或迁移时不会丢失系统授权。
1 parent c5d03a6 commit 23c802c

59 files changed

Lines changed: 757 additions & 704 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

api/index.mjs

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62346,7 +62346,8 @@ var AuthService = class {
6234662346
userInfo,
6234762347
deviceKey,
6234862348
needsEmergency,
62349-
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY }
62349+
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY },
62350+
...needsEmergency && { license: this.env.NODEAUTH_LICENSE }
6235062351
};
6235162352
}
6235262353
/**
@@ -66038,7 +66039,8 @@ var WebAuthnService = class {
6603866039
provider: "passkey"
6603966040
},
6604066041
needsEmergency,
66041-
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY }
66042+
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY },
66043+
...needsEmergency && { license: this.env.NODEAUTH_LICENSE }
6604266044
};
6604366045
}
6604466046
throw new AppError("webauthn_login_failed", 400);
@@ -73494,7 +73496,8 @@ var Web3WalletAuthService = class {
7349473496
},
7349573497
deviceKey,
7349673498
needsEmergency,
73497-
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY }
73499+
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY },
73500+
...needsEmergency && { license: this.env.NODEAUTH_LICENSE }
7349873501
};
7349973502
}
7350073503
/**
@@ -73602,7 +73605,7 @@ auth.post("/callback/:provider", rateLimit({
7360273605
const service = getService(c);
7360373606
const clientIp = c.req.header("CF-Connecting-IP") || "unknown";
7360473607
const userAgent = c.req.header("User-Agent") || "Unknown Device";
73605-
const { token, userInfo, deviceKey, needsEmergency, encryptionKey } = await service.handleOAuthCallback(providerName, body, clientIp, userAgent, body.deviceId);
73608+
const { token, userInfo, deviceKey, needsEmergency, encryptionKey, license } = await service.handleOAuthCallback(providerName, body, clientIp, userAgent, body.deviceId);
7360673609
setCookie(c, "auth_token", token, {
7360773610
httpOnly: true,
7360873611
secure: isSecureContext(c),
@@ -73631,7 +73634,8 @@ auth.post("/callback/:provider", rateLimit({
7363173634
userInfo,
7363273635
deviceKey: finalDeviceKey,
7363373636
needsEmergency,
73634-
encryptionKey
73637+
encryptionKey,
73638+
license
7363573639
});
7363673640
});
7363773641
auth.post("/logout", (c) => {
@@ -73652,6 +73656,7 @@ auth.get("/me", authMiddleware, async (c) => {
7365273656
const repository = new EmergencyRepository(c.env.DB);
7365373657
const isEmergencyConfirmed = await repository.isEmergencyConfirmed();
7365473658
const encryptionKey = !isEmergencyConfirmed ? c.env.ENCRYPTION_KEY : void 0;
73659+
const license = !isEmergencyConfirmed ? c.env.NODEAUTH_LICENSE : void 0;
7365573660
const { generateDeviceKey: generateDeviceKey2, encryptWithRSAPublicKey: encryptWithRSAPublicKey2 } = await Promise.resolve().then(() => (init_crypto(), crypto_exports));
7365673661
const deviceKey = await generateDeviceKey2(user.email || user.id, c.env.JWT_SECRET || "");
7365773662
const publicKey = c.req.header("X-Public-Key");
@@ -73664,7 +73669,8 @@ auth.get("/me", authMiddleware, async (c) => {
7366473669
userInfo: user,
7366573670
deviceKey: finalDeviceKey,
7366673671
needsEmergency: !isEmergencyConfirmed,
73667-
encryptionKey
73672+
encryptionKey,
73673+
license
7366873674
});
7366973675
});
7367073676
auth.get("/webauthn/register/options", authMiddleware, async (c) => {
@@ -73748,7 +73754,8 @@ auth.post("/webauthn/login/verify", rateLimit({
7374873754
deviceKey: finalDeviceKey,
7374973755
userInfo: result.userInfo,
7375073756
needsEmergency: result.needsEmergency,
73751-
encryptionKey: result.encryptionKey
73757+
encryptionKey: result.encryptionKey,
73758+
license: result.license
7375273759
});
7375373760
});
7375473761
auth.get("/webauthn/credentials", authMiddleware, async (c) => {
@@ -73834,7 +73841,8 @@ auth.post("/web3/login/verify", rateLimit({
7383473841
deviceKey: finalDeviceKey,
7383573842
userInfo: result.userInfo,
7383673843
needsEmergency: result.needsEmergency,
73837-
encryptionKey: result.encryptionKey
73844+
encryptionKey: result.encryptionKey,
73845+
license: result.license
7383873846
});
7383973847
});
7384073848
auth.get("/sessions", authMiddleware, async (c) => {

api/index.mjs.map

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

backend/dist/docker/server.js

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52828,7 +52828,8 @@ var AuthService = class {
5282852828
userInfo,
5282952829
deviceKey,
5283052830
needsEmergency,
52831-
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY }
52831+
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY },
52832+
...needsEmergency && { license: this.env.NODEAUTH_LICENSE }
5283252833
};
5283352834
}
5283452835
/**
@@ -56520,7 +56521,8 @@ var WebAuthnService = class {
5652056521
provider: "passkey"
5652156522
},
5652256523
needsEmergency,
56523-
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY }
56524+
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY },
56525+
...needsEmergency && { license: this.env.NODEAUTH_LICENSE }
5652456526
};
5652556527
}
5652656528
throw new AppError("webauthn_login_failed", 400);
@@ -63976,7 +63978,8 @@ var Web3WalletAuthService = class {
6397663978
},
6397763979
deviceKey,
6397863980
needsEmergency,
63979-
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY }
63981+
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY },
63982+
...needsEmergency && { license: this.env.NODEAUTH_LICENSE }
6398063983
};
6398163984
}
6398263985
/**
@@ -64084,7 +64087,7 @@ auth.post("/callback/:provider", rateLimit({
6408464087
const service = getService(c);
6408564088
const clientIp = c.req.header("CF-Connecting-IP") || "unknown";
6408664089
const userAgent = c.req.header("User-Agent") || "Unknown Device";
64087-
const { token, userInfo, deviceKey, needsEmergency, encryptionKey } = await service.handleOAuthCallback(providerName, body, clientIp, userAgent, body.deviceId);
64090+
const { token, userInfo, deviceKey, needsEmergency, encryptionKey, license } = await service.handleOAuthCallback(providerName, body, clientIp, userAgent, body.deviceId);
6408864091
setCookie(c, "auth_token", token, {
6408964092
httpOnly: true,
6409064093
secure: isSecureContext(c),
@@ -64113,7 +64116,8 @@ auth.post("/callback/:provider", rateLimit({
6411364116
userInfo,
6411464117
deviceKey: finalDeviceKey,
6411564118
needsEmergency,
64116-
encryptionKey
64119+
encryptionKey,
64120+
license
6411764121
});
6411864122
});
6411964123
auth.post("/logout", (c) => {
@@ -64134,6 +64138,7 @@ auth.get("/me", authMiddleware, async (c) => {
6413464138
const repository = new EmergencyRepository(c.env.DB);
6413564139
const isEmergencyConfirmed = await repository.isEmergencyConfirmed();
6413664140
const encryptionKey = !isEmergencyConfirmed ? c.env.ENCRYPTION_KEY : void 0;
64141+
const license = !isEmergencyConfirmed ? c.env.NODEAUTH_LICENSE : void 0;
6413764142
const { generateDeviceKey: generateDeviceKey2, encryptWithRSAPublicKey: encryptWithRSAPublicKey2 } = await Promise.resolve().then(() => (init_crypto(), crypto_exports));
6413864143
const deviceKey = await generateDeviceKey2(user.email || user.id, c.env.JWT_SECRET || "");
6413964144
const publicKey = c.req.header("X-Public-Key");
@@ -64146,7 +64151,8 @@ auth.get("/me", authMiddleware, async (c) => {
6414664151
userInfo: user,
6414764152
deviceKey: finalDeviceKey,
6414864153
needsEmergency: !isEmergencyConfirmed,
64149-
encryptionKey
64154+
encryptionKey,
64155+
license
6415064156
});
6415164157
});
6415264158
auth.get("/webauthn/register/options", authMiddleware, async (c) => {
@@ -64230,7 +64236,8 @@ auth.post("/webauthn/login/verify", rateLimit({
6423064236
deviceKey: finalDeviceKey,
6423164237
userInfo: result.userInfo,
6423264238
needsEmergency: result.needsEmergency,
64233-
encryptionKey: result.encryptionKey
64239+
encryptionKey: result.encryptionKey,
64240+
license: result.license
6423464241
});
6423564242
});
6423664243
auth.get("/webauthn/credentials", authMiddleware, async (c) => {
@@ -64316,7 +64323,8 @@ auth.post("/web3/login/verify", rateLimit({
6431664323
deviceKey: finalDeviceKey,
6431764324
userInfo: result.userInfo,
6431864325
needsEmergency: result.needsEmergency,
64319-
encryptionKey: result.encryptionKey
64326+
encryptionKey: result.encryptionKey,
64327+
license: result.license
6432064328
});
6432164329
});
6432264330
auth.get("/sessions", authMiddleware, async (c) => {

backend/dist/docker/server.js.map

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

backend/dist/netlify/api.mjs

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62345,7 +62345,8 @@ var AuthService = class {
6234562345
userInfo,
6234662346
deviceKey,
6234762347
needsEmergency,
62348-
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY }
62348+
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY },
62349+
...needsEmergency && { license: this.env.NODEAUTH_LICENSE }
6234962350
};
6235062351
}
6235162352
/**
@@ -66037,7 +66038,8 @@ var WebAuthnService = class {
6603766038
provider: "passkey"
6603866039
},
6603966040
needsEmergency,
66040-
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY }
66041+
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY },
66042+
...needsEmergency && { license: this.env.NODEAUTH_LICENSE }
6604166043
};
6604266044
}
6604366045
throw new AppError("webauthn_login_failed", 400);
@@ -73493,7 +73495,8 @@ var Web3WalletAuthService = class {
7349373495
},
7349473496
deviceKey,
7349573497
needsEmergency,
73496-
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY }
73498+
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY },
73499+
...needsEmergency && { license: this.env.NODEAUTH_LICENSE }
7349773500
};
7349873501
}
7349973502
/**
@@ -73601,7 +73604,7 @@ auth.post("/callback/:provider", rateLimit({
7360173604
const service = getService(c);
7360273605
const clientIp = c.req.header("CF-Connecting-IP") || "unknown";
7360373606
const userAgent = c.req.header("User-Agent") || "Unknown Device";
73604-
const { token, userInfo, deviceKey, needsEmergency, encryptionKey } = await service.handleOAuthCallback(providerName, body, clientIp, userAgent, body.deviceId);
73607+
const { token, userInfo, deviceKey, needsEmergency, encryptionKey, license } = await service.handleOAuthCallback(providerName, body, clientIp, userAgent, body.deviceId);
7360573608
setCookie(c, "auth_token", token, {
7360673609
httpOnly: true,
7360773610
secure: isSecureContext(c),
@@ -73630,7 +73633,8 @@ auth.post("/callback/:provider", rateLimit({
7363073633
userInfo,
7363173634
deviceKey: finalDeviceKey,
7363273635
needsEmergency,
73633-
encryptionKey
73636+
encryptionKey,
73637+
license
7363473638
});
7363573639
});
7363673640
auth.post("/logout", (c) => {
@@ -73651,6 +73655,7 @@ auth.get("/me", authMiddleware, async (c) => {
7365173655
const repository = new EmergencyRepository(c.env.DB);
7365273656
const isEmergencyConfirmed = await repository.isEmergencyConfirmed();
7365373657
const encryptionKey = !isEmergencyConfirmed ? c.env.ENCRYPTION_KEY : void 0;
73658+
const license = !isEmergencyConfirmed ? c.env.NODEAUTH_LICENSE : void 0;
7365473659
const { generateDeviceKey: generateDeviceKey2, encryptWithRSAPublicKey: encryptWithRSAPublicKey2 } = await Promise.resolve().then(() => (init_crypto(), crypto_exports));
7365573660
const deviceKey = await generateDeviceKey2(user.email || user.id, c.env.JWT_SECRET || "");
7365673661
const publicKey = c.req.header("X-Public-Key");
@@ -73663,7 +73668,8 @@ auth.get("/me", authMiddleware, async (c) => {
7366373668
userInfo: user,
7366473669
deviceKey: finalDeviceKey,
7366573670
needsEmergency: !isEmergencyConfirmed,
73666-
encryptionKey
73671+
encryptionKey,
73672+
license
7366773673
});
7366873674
});
7366973675
auth.get("/webauthn/register/options", authMiddleware, async (c) => {
@@ -73747,7 +73753,8 @@ auth.post("/webauthn/login/verify", rateLimit({
7374773753
deviceKey: finalDeviceKey,
7374873754
userInfo: result.userInfo,
7374973755
needsEmergency: result.needsEmergency,
73750-
encryptionKey: result.encryptionKey
73756+
encryptionKey: result.encryptionKey,
73757+
license: result.license
7375173758
});
7375273759
});
7375373760
auth.get("/webauthn/credentials", authMiddleware, async (c) => {
@@ -73833,7 +73840,8 @@ auth.post("/web3/login/verify", rateLimit({
7383373840
deviceKey: finalDeviceKey,
7383473841
userInfo: result.userInfo,
7383573842
needsEmergency: result.needsEmergency,
73836-
encryptionKey: result.encryptionKey
73843+
encryptionKey: result.encryptionKey,
73844+
license: result.license
7383773845
});
7383873846
});
7383973847
auth.get("/sessions", authMiddleware, async (c) => {

backend/dist/netlify/api.mjs.map

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

backend/dist/netlify/cron.mjs

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62345,7 +62345,8 @@ var AuthService = class {
6234562345
userInfo,
6234662346
deviceKey,
6234762347
needsEmergency,
62348-
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY }
62348+
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY },
62349+
...needsEmergency && { license: this.env.NODEAUTH_LICENSE }
6234962350
};
6235062351
}
6235162352
/**
@@ -66037,7 +66038,8 @@ var WebAuthnService = class {
6603766038
provider: "passkey"
6603866039
},
6603966040
needsEmergency,
66040-
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY }
66041+
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY },
66042+
...needsEmergency && { license: this.env.NODEAUTH_LICENSE }
6604166043
};
6604266044
}
6604366045
throw new AppError("webauthn_login_failed", 400);
@@ -73493,7 +73495,8 @@ var Web3WalletAuthService = class {
7349373495
},
7349473496
deviceKey,
7349573497
needsEmergency,
73496-
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY }
73498+
...needsEmergency && { encryptionKey: this.env.ENCRYPTION_KEY },
73499+
...needsEmergency && { license: this.env.NODEAUTH_LICENSE }
7349773500
};
7349873501
}
7349973502
/**
@@ -73601,7 +73604,7 @@ auth.post("/callback/:provider", rateLimit({
7360173604
const service = getService(c);
7360273605
const clientIp = c.req.header("CF-Connecting-IP") || "unknown";
7360373606
const userAgent = c.req.header("User-Agent") || "Unknown Device";
73604-
const { token, userInfo, deviceKey, needsEmergency, encryptionKey } = await service.handleOAuthCallback(providerName, body, clientIp, userAgent, body.deviceId);
73607+
const { token, userInfo, deviceKey, needsEmergency, encryptionKey, license } = await service.handleOAuthCallback(providerName, body, clientIp, userAgent, body.deviceId);
7360573608
setCookie(c, "auth_token", token, {
7360673609
httpOnly: true,
7360773610
secure: isSecureContext(c),
@@ -73630,7 +73633,8 @@ auth.post("/callback/:provider", rateLimit({
7363073633
userInfo,
7363173634
deviceKey: finalDeviceKey,
7363273635
needsEmergency,
73633-
encryptionKey
73636+
encryptionKey,
73637+
license
7363473638
});
7363573639
});
7363673640
auth.post("/logout", (c) => {
@@ -73651,6 +73655,7 @@ auth.get("/me", authMiddleware, async (c) => {
7365173655
const repository = new EmergencyRepository(c.env.DB);
7365273656
const isEmergencyConfirmed = await repository.isEmergencyConfirmed();
7365373657
const encryptionKey = !isEmergencyConfirmed ? c.env.ENCRYPTION_KEY : void 0;
73658+
const license = !isEmergencyConfirmed ? c.env.NODEAUTH_LICENSE : void 0;
7365473659
const { generateDeviceKey: generateDeviceKey2, encryptWithRSAPublicKey: encryptWithRSAPublicKey2 } = await Promise.resolve().then(() => (init_crypto(), crypto_exports));
7365573660
const deviceKey = await generateDeviceKey2(user.email || user.id, c.env.JWT_SECRET || "");
7365673661
const publicKey = c.req.header("X-Public-Key");
@@ -73663,7 +73668,8 @@ auth.get("/me", authMiddleware, async (c) => {
7366373668
userInfo: user,
7366473669
deviceKey: finalDeviceKey,
7366573670
needsEmergency: !isEmergencyConfirmed,
73666-
encryptionKey
73671+
encryptionKey,
73672+
license
7366773673
});
7366873674
});
7366973675
auth.get("/webauthn/register/options", authMiddleware, async (c) => {
@@ -73747,7 +73753,8 @@ auth.post("/webauthn/login/verify", rateLimit({
7374773753
deviceKey: finalDeviceKey,
7374873754
userInfo: result.userInfo,
7374973755
needsEmergency: result.needsEmergency,
73750-
encryptionKey: result.encryptionKey
73756+
encryptionKey: result.encryptionKey,
73757+
license: result.license
7375173758
});
7375273759
});
7375373760
auth.get("/webauthn/credentials", authMiddleware, async (c) => {
@@ -73833,7 +73840,8 @@ auth.post("/web3/login/verify", rateLimit({
7383373840
deviceKey: finalDeviceKey,
7383473841
userInfo: result.userInfo,
7383573842
needsEmergency: result.needsEmergency,
73836-
encryptionKey: result.encryptionKey
73843+
encryptionKey: result.encryptionKey,
73844+
license: result.license
7383773845
});
7383873846
});
7383973847
auth.get("/sessions", authMiddleware, async (c) => {

backend/dist/netlify/cron.mjs.map

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)