@molecule/api-jwt 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/keys.d.ts.map +1 -1
- package/dist/keys.js +22 -3
- package/dist/keys.js.map +1 -1
- package/package.json +2 -2
package/dist/keys.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAoCH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAO;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAW1E,CAAA;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,mBAAqB,KAAG,
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAoCH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAO;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAW1E,CAAA;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,mBAAqB,KAAG,IAyBjD,CAAA;AAmHD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,kCAOtB,CAAA;AAEN;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,kCAQrB,CAAA"}
|
package/dist/keys.js
CHANGED
|
@@ -63,9 +63,20 @@ export const writeKeys = (outputPath = keysPath) => {
|
|
|
63
63
|
try {
|
|
64
64
|
const { publicKey, privateKey } = generateKeyPairSync();
|
|
65
65
|
if (!fs.existsSync(outputPath)) {
|
|
66
|
-
|
|
66
|
+
// 0o700: owner-only — the directory holds the JWT signing private key.
|
|
67
|
+
fs.mkdirSync(outputPath, { recursive: true, mode: 0o700 });
|
|
68
|
+
}
|
|
69
|
+
// mode 0o600: the private key PEM must never be world-readable. Node's
|
|
70
|
+
// fs.writeFileSync `mode` only applies to CREATED files, so an existing
|
|
71
|
+
// file with looser permissions is chmod-ed down explicitly.
|
|
72
|
+
const privateKeyFile = path.join(outputPath, 'jwt_private_key.pem');
|
|
73
|
+
fs.writeFileSync(privateKeyFile, privateKey, { encoding: `utf8`, mode: 0o600 });
|
|
74
|
+
try {
|
|
75
|
+
fs.chmodSync(privateKeyFile, 0o600);
|
|
76
|
+
}
|
|
77
|
+
catch (_error) {
|
|
78
|
+
/* best-effort on filesystems without chmod */
|
|
67
79
|
}
|
|
68
|
-
fs.writeFileSync(path.join(outputPath, 'jwt_private_key.pem'), privateKey, `utf8`);
|
|
69
80
|
fs.writeFileSync(path.join(outputPath, 'jwt_public_key.pem'), publicKey, `utf8`);
|
|
70
81
|
logger.info(`JWT key pair successfully written to disk.`);
|
|
71
82
|
}
|
|
@@ -91,8 +102,16 @@ if (!process.env.JWT_PRIVATE_KEY) {
|
|
|
91
102
|
// again (the new location is populated).
|
|
92
103
|
if (fs.existsSync(legacyPrivateKeyPath) && fs.existsSync(legacyPublicKeyPath)) {
|
|
93
104
|
try {
|
|
94
|
-
fs.mkdirSync(keysPath, { recursive: true });
|
|
105
|
+
fs.mkdirSync(keysPath, { recursive: true, mode: 0o700 });
|
|
106
|
+
// copyFileSync copies the SOURCE's permissions; the legacy file may
|
|
107
|
+
// predate 0o600 writes, so chmod the migrated private key down.
|
|
95
108
|
fs.copyFileSync(legacyPrivateKeyPath, privateKeyPath);
|
|
109
|
+
try {
|
|
110
|
+
fs.chmodSync(privateKeyPath, 0o600);
|
|
111
|
+
}
|
|
112
|
+
catch (_error) {
|
|
113
|
+
/* best-effort on filesystems without chmod */
|
|
114
|
+
}
|
|
96
115
|
fs.copyFileSync(legacyPublicKeyPath, publicKeyPath);
|
|
97
116
|
logger.warn(`Migrated JWT keys from the legacy node_modules-relative location (${legacyKeysPath}) ` +
|
|
98
117
|
`to the stable location ${keysPath}. The legacy location is wiped by every ` +
|
package/dist/keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;AAE1B,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAE9D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAA;AAErD,uEAAuE;AACvE,4EAA4E;AAC5E,wEAAwE;AACxE,YAAY;AACZ,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY;IACtC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACvD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAA;AACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAC5C,MAAM,cAAc,GAAG,GAAG,QAAQ,sBAAsB,CAAA;AACxD,MAAM,aAAa,GAAG,GAAG,QAAQ,qBAAqB,CAAA;AAEtD,sEAAsE;AACtE,oEAAoE;AACpE,oEAAoE;AACpE,wEAAwE;AACxE,4EAA4E;AAC5E,sDAAsD;AACtD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,OAAO,EAAE,CAAC,CAAA;AACrE,MAAM,oBAAoB,GAAG,GAAG,cAAc,sBAAsB,CAAA;AACpE,MAAM,mBAAmB,GAAG,GAAG,cAAc,qBAAqB,CAAA;AAElE;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAA8C,EAAE,CACjF,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE;IAChC,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE;QACjB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,KAAK;KACd;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;KACd;CACF,CAAC,CAAA;AAEJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,UAAU,GAAG,QAAQ,EAAQ,EAAE;IACvD,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,mBAAmB,EAAE,CAAA;QAEvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;AAE1B,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAE9D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAA;AAErD,uEAAuE;AACvE,4EAA4E;AAC5E,wEAAwE;AACxE,YAAY;AACZ,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY;IACtC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACvD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAA;AACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAC5C,MAAM,cAAc,GAAG,GAAG,QAAQ,sBAAsB,CAAA;AACxD,MAAM,aAAa,GAAG,GAAG,QAAQ,qBAAqB,CAAA;AAEtD,sEAAsE;AACtE,oEAAoE;AACpE,oEAAoE;AACpE,wEAAwE;AACxE,4EAA4E;AAC5E,sDAAsD;AACtD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,OAAO,EAAE,CAAC,CAAA;AACrE,MAAM,oBAAoB,GAAG,GAAG,cAAc,sBAAsB,CAAA;AACpE,MAAM,mBAAmB,GAAG,GAAG,cAAc,qBAAqB,CAAA;AAElE;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAA8C,EAAE,CACjF,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE;IAChC,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE;QACjB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,KAAK;KACd;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;KACd;CACF,CAAC,CAAA;AAEJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,UAAU,GAAG,QAAQ,EAAQ,EAAE;IACvD,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,mBAAmB,EAAE,CAAA;QAEvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,uEAAuE;YACvE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC5D,CAAC;QAED,uEAAuE;QACvE,wEAAwE;QACxE,4DAA4D;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAA;QACnE,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/E,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;QACrC,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,8CAA8C;QAChD,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAEhF,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAA;IACpD,CAAC;AACH,CAAC,CAAA;AAED,wEAAwE;AACxE,8EAA8E;AAC9E,4EAA4E;AAC5E,2EAA2E;AAC3E,2EAA2E;AAC3E,6EAA6E;AAC7E,qEAAqE;AACrE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACpE,uEAAuE;QACvE,oEAAoE;QACpE,sEAAsE;QACtE,qEAAqE;QACrE,sEAAsE;QACtE,qEAAqE;QACrE,yCAAyC;QACzC,IAAI,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC9E,IAAI,CAAC;gBACH,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;gBACxD,oEAAoE;gBACpE,gEAAgE;gBAChE,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAA;gBACrD,IAAI,CAAC;oBACH,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;gBACrC,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,8CAA8C;gBAChD,CAAC;gBACD,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAA;gBACnD,MAAM,CAAC,IAAI,CACT,qEAAqE,cAAc,IAAI;oBACrF,0BAA0B,QAAQ,0CAA0C;oBAC5E,sFAAsF;oBACtF,sDAAsD,CACzD,CAAA;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CACV,wDAAwD,cAAc,OAAO;oBAC3E,GAAG,QAAQ,sEAAsE;oBACjF,0BAA0B,EAC5B,KAAK,CACN,CAAA;gBACD,SAAS,EAAE,CAAA;YACb,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,EAAE,CAAA;QACb,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,YAAY,GAAG,CAAC,KAA8B,EAA2B,EAAE;IAC/E,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,sEAAsE;IACtE,wEAAwE;IACxE,gCAAgC;IAChC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,KAAK,CAAC,CAAA;AACxE,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,KAAK,CAAC,CAAA;AAEtE;;;;;;;;;;;;;;GAcG;AACH,MAAM,eAAe,GAAG,CAAC,UAA2B,EAAkB,EAAE;IACtE,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC9F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CACV,qGAAqG,EACrG,KAAK,CACN,CAAA;QACD,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED,IAAI,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;IACnC,MAAM,CAAC,IAAI,CACT,6FAA6F;QAC3F,sFAAsF;QACtF,6EAA6E,CAChF,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAC1B,aAAa;IACb,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAClE,CAAC,GAAG,EAAE;QACJ,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAA;IACH,CAAC,CAAC,EAAE,CAAA;AAEN;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GACzB,YAAY;IACZ,CAAC,aAAa,IAAI,eAAe,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAChE,CAAC,GAAG,EAAE;QACJ,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAA;IACH,CAAC,CAAC,EAAE,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@molecule/api-jwt",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "JWT interface and key management for molecule.dev",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"@molecule/api-bond": "1.0.1",
|
|
35
35
|
"@types/node": "26.1.2",
|
|
36
36
|
"typescript": "6.0.3",
|
|
37
|
-
"vitest": "4.1.
|
|
37
|
+
"vitest": "4.1.11"
|
|
38
38
|
},
|
|
39
39
|
"repository": {
|
|
40
40
|
"type": "git",
|