@dofe/infra-common 0.1.43 → 0.1.46
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.guard.d.ts","sourceRoot":"","sources":["../../../../packages/common/src/guards/auth.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAGjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.guard.d.ts","sourceRoot":"","sources":["../../../../packages/common/src/guards/auth.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAGjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAoBjD;;GAEG;AACH,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sBAAsB,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAA;KAAE,GAAG,MAAM,GAAG,SAAS,CAAC;CACjH;AAED;;;;;GAKG;AACH,qBACa,SAAU,YAAW,WAAW;IAMzC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACW,OAAO,CAAC,QAAQ,CAAC,MAAM;IAV1D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC1C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAIlB,IAAI,EAAE,YAAY,EAClB,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,YAAY,EACc,MAAM,EAAE,MAAM;IAc5D,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;CA+K/D"}
|
|
@@ -25,99 +25,20 @@ const winston_1 = require("winston");
|
|
|
25
25
|
const infra_contracts_1 = require("@dofe/infra-contracts");
|
|
26
26
|
const infra_contracts_2 = require("@dofe/infra-contracts");
|
|
27
27
|
const infra_redis_1 = require("@dofe/infra-redis");
|
|
28
|
+
const infra_jwt_1 = require("@dofe/infra-jwt");
|
|
28
29
|
const string_util_1 = __importDefault(require("@dofe/infra-utils/string.util"));
|
|
29
30
|
const environment_util_1 = __importDefault(require("@dofe/infra-utils/environment.util"));
|
|
30
31
|
const env_config_service_1 = require("../config/env-config.service");
|
|
31
32
|
const api_exception_1 = require("../filter/exception/api.exception");
|
|
32
|
-
/**
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
cacheTtlMs = 3600 * 1000; // 1 hour (matches SSO Cache-Control: max-age=3600)
|
|
40
|
-
constructor(jwksUri) {
|
|
41
|
-
this.jwksUri = jwksUri;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Get a PEM public key by key ID (kid).
|
|
45
|
-
* Fetches JWKS on cache miss, caches for 1 hour.
|
|
46
|
-
*/
|
|
47
|
-
async getPublicKey(kid) {
|
|
48
|
-
await this.ensureCache();
|
|
49
|
-
return this.cache?.keys.get(kid) ?? null;
|
|
50
|
-
}
|
|
51
|
-
async ensureCache() {
|
|
52
|
-
if (this.cache && Date.now() < this.cache.expiresAt)
|
|
53
|
-
return;
|
|
54
|
-
try {
|
|
55
|
-
const response = await fetch(this.jwksUri);
|
|
56
|
-
if (!response.ok) {
|
|
57
|
-
throw new Error(`JWKS fetch failed: ${response.status}`);
|
|
58
|
-
}
|
|
59
|
-
const jwks = await response.json();
|
|
60
|
-
const keys = new Map();
|
|
61
|
-
for (const jwk of jwks.keys) {
|
|
62
|
-
if (jwk.kid) {
|
|
63
|
-
keys.set(jwk.kid, this.jwkToPem(jwk));
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
this.cache = { keys, expiresAt: Date.now() + this.cacheTtlMs };
|
|
67
|
-
}
|
|
68
|
-
catch (error) {
|
|
69
|
-
// On fetch failure, keep stale cache if available
|
|
70
|
-
if (!this.cache) {
|
|
71
|
-
throw error;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Convert a JWK RSA public key to PEM format.
|
|
77
|
-
* Uses a minimal PEM encoder (no external dependencies).
|
|
78
|
-
*/
|
|
79
|
-
jwkToPem(jwk) {
|
|
80
|
-
if (jwk.kty !== 'RSA' || !jwk.n || !jwk.e) {
|
|
81
|
-
throw new Error(`Unsupported JWK key type: ${jwk.kty}`);
|
|
82
|
-
}
|
|
83
|
-
// Base64URL decode
|
|
84
|
-
const base64UrlDecode = (str) => {
|
|
85
|
-
let base64 = str.replace(/-/g, '+').replace(/_/g, '/');
|
|
86
|
-
while (base64.length % 4 !== 0)
|
|
87
|
-
base64 += '=';
|
|
88
|
-
return Buffer.from(base64, 'base64');
|
|
89
|
-
};
|
|
90
|
-
const modulus = base64UrlDecode(jwk.n);
|
|
91
|
-
const exponent = base64UrlDecode(jwk.e);
|
|
92
|
-
// Build DER-encoded RSAPublicKey (PKCS#1)
|
|
93
|
-
// SEQUENCE { INTEGER (modulus), INTEGER (exponent) }
|
|
94
|
-
const modulusBytes = this.encodeAsn1Integer(modulus);
|
|
95
|
-
const exponentBytes = this.encodeAsn1Integer(exponent);
|
|
96
|
-
const sequence = this.encodeAsn1Sequence(Buffer.concat([modulusBytes, exponentBytes]));
|
|
97
|
-
const base64Der = sequence.toString('base64');
|
|
98
|
-
const lines = base64Der.match(/.{1,64}/g) ?? [base64Der];
|
|
99
|
-
return `-----BEGIN RSA PUBLIC KEY-----\n${lines.join('\n')}\n-----END RSA PUBLIC KEY-----`;
|
|
100
|
-
}
|
|
101
|
-
encodeAsn1Length(length) {
|
|
102
|
-
if (length < 128) {
|
|
103
|
-
return Buffer.from([length]);
|
|
104
|
-
}
|
|
105
|
-
const bytes = [];
|
|
106
|
-
let len = length;
|
|
107
|
-
while (len > 0) {
|
|
108
|
-
bytes.unshift(len & 0xff);
|
|
109
|
-
len >>= 8;
|
|
110
|
-
}
|
|
111
|
-
return Buffer.from([0x80 | bytes.length, ...bytes]);
|
|
112
|
-
}
|
|
113
|
-
encodeAsn1Integer(value) {
|
|
114
|
-
// Add leading 0x00 if high bit is set (to prevent negative encoding)
|
|
115
|
-
const data = value[0] & 0x80 ? Buffer.concat([Buffer.from([0x00]), value]) : value;
|
|
116
|
-
return Buffer.concat([Buffer.from([0x02]), this.encodeAsn1Length(data.length), data]);
|
|
117
|
-
}
|
|
118
|
-
encodeAsn1Sequence(contents) {
|
|
119
|
-
return Buffer.concat([Buffer.from([0x30]), this.encodeAsn1Length(contents.length), contents]);
|
|
33
|
+
/** Singleton JwksClient instances keyed by JWKS URI */
|
|
34
|
+
const jwksClients = new Map();
|
|
35
|
+
function getJwksClient(jwksUri) {
|
|
36
|
+
let client = jwksClients.get(jwksUri);
|
|
37
|
+
if (!client) {
|
|
38
|
+
client = new infra_jwt_1.JwksClient(jwksUri);
|
|
39
|
+
jwksClients.set(jwksUri, client);
|
|
120
40
|
}
|
|
41
|
+
return client;
|
|
121
42
|
}
|
|
122
43
|
/**
|
|
123
44
|
* Auth Guard Token - 用于注入 AuthService
|
|
@@ -202,7 +123,7 @@ let AuthGuard = class AuthGuard {
|
|
|
202
123
|
this.logger.error('RS256 token received but jwksUri is not configured');
|
|
203
124
|
throw (0, api_exception_1.apiError)(infra_contracts_1.CommonErrorCode.UnAuthorized);
|
|
204
125
|
}
|
|
205
|
-
const jwksClient =
|
|
126
|
+
const jwksClient = getJwksClient(jwtConfig.jwksUri);
|
|
206
127
|
const publicKey = kid ? await jwksClient.getPublicKey(kid) : null;
|
|
207
128
|
if (!publicKey) {
|
|
208
129
|
this.logger.warn('JWKS key not found for kid', { kid });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../../../packages/common/src/guards/auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAKwB;AACxB,qCAAyC;AACzC,2CAA+C;AAC/C,uCAAyC;AACzC,+CAAuD;AACvD,qCAAiC;AAEjC,2DAAwD;AACxD,2DAA4E;AAC5E,mDAAiD;
|
|
1
|
+
{"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../../../packages/common/src/guards/auth.guard.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dofe/infra-common",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.46",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -395,12 +395,12 @@
|
|
|
395
395
|
"uuid": "^14.0.0",
|
|
396
396
|
"winston": "^3.13.0",
|
|
397
397
|
"zod": "^4.3.6",
|
|
398
|
-
"@dofe/infra-
|
|
399
|
-
"@dofe/infra-
|
|
398
|
+
"@dofe/infra-redis": "^0.1.46",
|
|
399
|
+
"@dofe/infra-contracts": "^0.1.46"
|
|
400
400
|
},
|
|
401
401
|
"dependencies": {
|
|
402
|
-
"@dofe/infra-i18n": "^0.1.
|
|
403
|
-
"@dofe/infra-utils": "^0.1.
|
|
402
|
+
"@dofe/infra-i18n": "^0.1.45",
|
|
403
|
+
"@dofe/infra-utils": "^0.1.45"
|
|
404
404
|
},
|
|
405
405
|
"devDependencies": {
|
|
406
406
|
"@types/accept-language-parser": "^1.5.8",
|