@kya-os/mcp-i-cloudflare 1.5.1-canary.6 → 1.5.1
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/adapter.d.ts +8 -0
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +102 -87
- package/dist/adapter.js.map +1 -1
- package/dist/constants/storage-keys.d.ts +89 -0
- package/dist/constants/storage-keys.d.ts.map +1 -0
- package/dist/constants/storage-keys.js +142 -0
- package/dist/constants/storage-keys.js.map +1 -0
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -3
- package/dist/index.js.map +1 -1
- package/dist/runtime/oauth-handler.d.ts +6 -0
- package/dist/runtime/oauth-handler.d.ts.map +1 -1
- package/dist/runtime/oauth-handler.js +96 -21
- package/dist/runtime/oauth-handler.js.map +1 -1
- package/dist/services/consent-page-renderer.d.ts +5 -2
- package/dist/services/consent-page-renderer.d.ts.map +1 -1
- package/dist/services/consent-page-renderer.js +29 -8
- package/dist/services/consent-page-renderer.js.map +1 -1
- package/dist/services/consent.service.d.ts +52 -0
- package/dist/services/consent.service.d.ts.map +1 -1
- package/dist/services/consent.service.js +451 -99
- package/dist/services/consent.service.js.map +1 -1
- package/dist/services/delegation.service.d.ts.map +1 -1
- package/dist/services/delegation.service.js +54 -19
- package/dist/services/delegation.service.js.map +1 -1
- package/dist/services/oauth-security.service.d.ts +92 -0
- package/dist/services/oauth-security.service.d.ts.map +1 -0
- package/dist/services/oauth-security.service.js +260 -0
- package/dist/services/oauth-security.service.js.map +1 -0
- package/dist/services/rate-limit.service.d.ts +59 -0
- package/dist/services/rate-limit.service.d.ts.map +1 -0
- package/dist/services/rate-limit.service.js +146 -0
- package/dist/services/rate-limit.service.js.map +1 -0
- package/dist/utils/day0-config.d.ts +51 -0
- package/dist/utils/day0-config.d.ts.map +1 -0
- package/dist/utils/day0-config.js +72 -0
- package/dist/utils/day0-config.js.map +1 -0
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent.service.js","sourceRoot":"","sources":["../../src/services/consent.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"consent.service.js","sourceRoot":"","sources":["../../src/services/consent.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegation.service.d.ts","sourceRoot":"","sources":["../../src/services/delegation.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"delegation.service.d.ts","sourceRoot":"","sources":["../../src/services/delegation.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAO9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAoB;gBAExB,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAK3D;;;;OAIG;IACG,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA8GpE;;;;OAIG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoIvD;;;;;OAKG;IACG,eAAe,CACnB,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;CAuCjB"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* for MCP-I Cloudflare servers.
|
|
6
6
|
*/
|
|
7
7
|
import { DEFAULT_AGENTSHIELD_URL, DEFAULT_VERIFICATION_CACHE_TTL, DEFAULT_SESSION_CACHE_TTL, } from "../constants";
|
|
8
|
+
import { STORAGE_KEYS } from "../constants/storage-keys";
|
|
8
9
|
export class DelegationService {
|
|
9
10
|
env;
|
|
10
11
|
runtime;
|
|
@@ -26,28 +27,48 @@ export class DelegationService {
|
|
|
26
27
|
try {
|
|
27
28
|
// Fast path: Try session cache first
|
|
28
29
|
if (sessionId) {
|
|
29
|
-
const sessionKey =
|
|
30
|
-
const
|
|
31
|
-
if (
|
|
30
|
+
const sessionKey = STORAGE_KEYS.session(sessionId);
|
|
31
|
+
const sessionData = await delegationStorage.get(sessionKey, "json");
|
|
32
|
+
if (sessionData?.delegationToken) {
|
|
32
33
|
// Verify token is still valid before returning
|
|
33
|
-
const isValid = await this.verifyDelegation(
|
|
34
|
+
const isValid = await this.verifyDelegation(sessionData.delegationToken);
|
|
34
35
|
if (isValid) {
|
|
35
36
|
console.log("[Delegation] ✅ Token retrieved from session cache and verified");
|
|
36
|
-
return
|
|
37
|
+
return sessionData.delegationToken;
|
|
37
38
|
}
|
|
38
39
|
else {
|
|
39
40
|
// Token invalid, remove from cache
|
|
40
|
-
await this.invalidateCache(sessionId,
|
|
41
|
+
await this.invalidateCache(sessionId, sessionData.delegationToken);
|
|
41
42
|
console.log("[Delegation] ⚠️ Cached token was invalid, removed from cache");
|
|
42
43
|
}
|
|
43
44
|
}
|
|
45
|
+
// Try user+agent scoped key if userDid is available (Phase 4)
|
|
46
|
+
if (sessionData?.userDid && sessionData?.agentDid) {
|
|
47
|
+
const userAgentKey = STORAGE_KEYS.delegation(sessionData.userDid, sessionData.agentDid);
|
|
48
|
+
const userAgentToken = await delegationStorage.get(userAgentKey);
|
|
49
|
+
if (userAgentToken) {
|
|
50
|
+
const isValid = await this.verifyDelegation(userAgentToken);
|
|
51
|
+
if (isValid) {
|
|
52
|
+
console.log("[Delegation] ✅ Token retrieved using user+agent DID and verified");
|
|
53
|
+
// Re-cache for current session
|
|
54
|
+
await delegationStorage.put(sessionKey, JSON.stringify({
|
|
55
|
+
...sessionData,
|
|
56
|
+
delegationToken: userAgentToken,
|
|
57
|
+
}), {
|
|
58
|
+
expirationTtl: DEFAULT_SESSION_CACHE_TTL,
|
|
59
|
+
});
|
|
60
|
+
return userAgentToken;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
44
64
|
}
|
|
45
65
|
// Fallback: Try agent DID (stable across session changes)
|
|
46
66
|
if (this.runtime) {
|
|
47
67
|
const identity = await this.runtime.getIdentity();
|
|
48
68
|
if (identity?.did) {
|
|
49
|
-
|
|
50
|
-
const
|
|
69
|
+
// Try legacy agent-only key
|
|
70
|
+
const legacyKey = STORAGE_KEYS.legacyDelegation(identity.did);
|
|
71
|
+
const agentToken = await delegationStorage.get(legacyKey);
|
|
51
72
|
if (agentToken) {
|
|
52
73
|
// Verify token is still valid before returning
|
|
53
74
|
const isValid = await this.verifyDelegation(agentToken);
|
|
@@ -55,8 +76,13 @@ export class DelegationService {
|
|
|
55
76
|
console.log("[Delegation] ✅ Token retrieved using agent DID and verified");
|
|
56
77
|
// Re-cache for current session (performance optimization)
|
|
57
78
|
if (sessionId) {
|
|
58
|
-
const sessionCacheKey =
|
|
59
|
-
await delegationStorage.
|
|
79
|
+
const sessionCacheKey = STORAGE_KEYS.session(sessionId);
|
|
80
|
+
const existingSession = await delegationStorage.get(sessionCacheKey, "json");
|
|
81
|
+
await delegationStorage.put(sessionCacheKey, JSON.stringify({
|
|
82
|
+
...existingSession,
|
|
83
|
+
delegationToken: agentToken,
|
|
84
|
+
agentDid: identity.did,
|
|
85
|
+
}), {
|
|
60
86
|
expirationTtl: DEFAULT_SESSION_CACHE_TTL,
|
|
61
87
|
});
|
|
62
88
|
console.log("[Delegation] Token cached for session with 5-minute TTL:", sessionId);
|
|
@@ -88,7 +114,7 @@ export class DelegationService {
|
|
|
88
114
|
// Check verification cache first
|
|
89
115
|
const verificationCache = this.env.TOOL_PROTECTION_KV;
|
|
90
116
|
if (verificationCache) {
|
|
91
|
-
const cacheKey =
|
|
117
|
+
const cacheKey = STORAGE_KEYS.verificationCache(token.substring(0, 16));
|
|
92
118
|
const cached = await verificationCache.get(cacheKey);
|
|
93
119
|
if (cached === "1") {
|
|
94
120
|
console.log("[Delegation] Token verification cached as valid");
|
|
@@ -124,7 +150,7 @@ export class DelegationService {
|
|
|
124
150
|
if (isValid) {
|
|
125
151
|
// Cache successful verification
|
|
126
152
|
if (verificationCache) {
|
|
127
|
-
const cacheKey =
|
|
153
|
+
const cacheKey = STORAGE_KEYS.verificationCache(token.substring(0, 16));
|
|
128
154
|
await verificationCache.put(cacheKey, "1", {
|
|
129
155
|
expirationTtl: DEFAULT_VERIFICATION_CACHE_TTL,
|
|
130
156
|
});
|
|
@@ -162,7 +188,7 @@ export class DelegationService {
|
|
|
162
188
|
if (response.ok) {
|
|
163
189
|
// Cache successful verification
|
|
164
190
|
if (verificationCache) {
|
|
165
|
-
const cacheKey =
|
|
191
|
+
const cacheKey = STORAGE_KEYS.verificationCache(token.substring(0, 16));
|
|
166
192
|
await verificationCache.put(cacheKey, "1", {
|
|
167
193
|
expirationTtl: DEFAULT_VERIFICATION_CACHE_TTL,
|
|
168
194
|
});
|
|
@@ -194,19 +220,28 @@ export class DelegationService {
|
|
|
194
220
|
if (!delegationStorage)
|
|
195
221
|
return;
|
|
196
222
|
const deletions = [];
|
|
197
|
-
//
|
|
223
|
+
// Read session data BEFORE scheduling deletion to avoid race condition
|
|
224
|
+
let sessionData = null;
|
|
198
225
|
if (sessionId) {
|
|
199
|
-
const sessionKey =
|
|
226
|
+
const sessionKey = STORAGE_KEYS.session(sessionId);
|
|
227
|
+
// Read session data first before scheduling deletion
|
|
228
|
+
sessionData = await delegationStorage.get(sessionKey, "json");
|
|
229
|
+
// Now schedule deletion
|
|
200
230
|
deletions.push(delegationStorage.delete(sessionKey));
|
|
201
231
|
}
|
|
202
|
-
// Clear agent cache
|
|
232
|
+
// Clear agent cache (legacy)
|
|
203
233
|
if (agentDid) {
|
|
204
|
-
const
|
|
205
|
-
deletions.push(delegationStorage.delete(
|
|
234
|
+
const legacyKey = STORAGE_KEYS.legacyDelegation(agentDid);
|
|
235
|
+
deletions.push(delegationStorage.delete(legacyKey));
|
|
236
|
+
// Use session data we already read (no race condition)
|
|
237
|
+
if (sessionData?.userDid) {
|
|
238
|
+
const userAgentKey = STORAGE_KEYS.delegation(sessionData.userDid, agentDid);
|
|
239
|
+
deletions.push(delegationStorage.delete(userAgentKey));
|
|
240
|
+
}
|
|
206
241
|
}
|
|
207
242
|
// Clear verification cache
|
|
208
243
|
if (token && verificationCache) {
|
|
209
|
-
const cacheKey =
|
|
244
|
+
const cacheKey = STORAGE_KEYS.verificationCache(token.substring(0, 16));
|
|
210
245
|
deletions.push(verificationCache.delete(cacheKey));
|
|
211
246
|
}
|
|
212
247
|
await Promise.all(deletions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegation.service.js","sourceRoot":"","sources":["../../src/services/delegation.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"delegation.service.js","sourceRoot":"","sources":["../../src/services/delegation.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OAuth Security Service
|
|
3
|
+
*
|
|
4
|
+
* Provides security hardening for OAuth flows including:
|
|
5
|
+
* - PKCE (Proof Key for Code Exchange) challenge generation
|
|
6
|
+
* - Token encryption/decryption for secure storage
|
|
7
|
+
* - Enhanced rate limiting for OAuth operations
|
|
8
|
+
* - Redirect URI validation
|
|
9
|
+
*
|
|
10
|
+
* This service prepares the foundation for Phase 4 OAuth identity linking.
|
|
11
|
+
*/
|
|
12
|
+
import type { KVNamespace } from "@cloudflare/workers-types";
|
|
13
|
+
/**
|
|
14
|
+
* PKCE challenge result
|
|
15
|
+
*/
|
|
16
|
+
export interface PKCEChallenge {
|
|
17
|
+
verifier: string;
|
|
18
|
+
challenge: string;
|
|
19
|
+
method: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* OAuth security service for Cloudflare Workers
|
|
23
|
+
*/
|
|
24
|
+
export declare class OAuthSecurityService {
|
|
25
|
+
private storage;
|
|
26
|
+
private encryptionSecret?;
|
|
27
|
+
private rateLimitService;
|
|
28
|
+
private encryptionKey;
|
|
29
|
+
constructor(storage: KVNamespace, encryptionSecret?: string | undefined);
|
|
30
|
+
/**
|
|
31
|
+
* Initialize encryption key for token protection
|
|
32
|
+
*
|
|
33
|
+
* Uses PBKDF2 key derivation for secure key generation.
|
|
34
|
+
*/
|
|
35
|
+
private initializeEncryptionKey;
|
|
36
|
+
/**
|
|
37
|
+
* Encrypt OAuth tokens for secure storage
|
|
38
|
+
*
|
|
39
|
+
* @param token - Token to encrypt
|
|
40
|
+
* @returns Encrypted token (base64url encoded)
|
|
41
|
+
*/
|
|
42
|
+
encryptToken(token: string): Promise<string>;
|
|
43
|
+
/**
|
|
44
|
+
* Decrypt OAuth tokens
|
|
45
|
+
*
|
|
46
|
+
* @param encryptedToken - Encrypted token (base64url encoded)
|
|
47
|
+
* @returns Decrypted token
|
|
48
|
+
*/
|
|
49
|
+
decryptToken(encryptedToken: string): Promise<string>;
|
|
50
|
+
/**
|
|
51
|
+
* Generate PKCE challenge for OAuth flow
|
|
52
|
+
*
|
|
53
|
+
* Implements RFC 7636 PKCE for enhanced security.
|
|
54
|
+
*
|
|
55
|
+
* @returns PKCE challenge with verifier, challenge, and method
|
|
56
|
+
*/
|
|
57
|
+
generatePKCEChallenge(): Promise<PKCEChallenge>;
|
|
58
|
+
/**
|
|
59
|
+
* Enhanced rate limiting for OAuth operations
|
|
60
|
+
*
|
|
61
|
+
* @param identifier - Unique identifier (IP address, user ID, etc.)
|
|
62
|
+
* @param operation - Operation type (login, callback, refresh)
|
|
63
|
+
* @returns Rate limit check result
|
|
64
|
+
*/
|
|
65
|
+
checkOAuthRateLimit(identifier: string, operation: "login" | "callback" | "refresh"): Promise<{
|
|
66
|
+
allowed: boolean;
|
|
67
|
+
retryAfter?: number;
|
|
68
|
+
}>;
|
|
69
|
+
/**
|
|
70
|
+
* Validate OAuth redirect URI against whitelist
|
|
71
|
+
*
|
|
72
|
+
* @param uri - Redirect URI to validate
|
|
73
|
+
* @returns True if URI is allowed
|
|
74
|
+
*/
|
|
75
|
+
validateRedirectUri(uri: string): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Store OAuth state securely for CSRF protection
|
|
78
|
+
*
|
|
79
|
+
* @param state - State value
|
|
80
|
+
* @param stateData - State data to store
|
|
81
|
+
* @param ttl - Time to live in seconds (default: 10 minutes)
|
|
82
|
+
*/
|
|
83
|
+
storeOAuthState(state: string, stateData: Record<string, unknown>, ttl?: number): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* Retrieve and validate OAuth state
|
|
86
|
+
*
|
|
87
|
+
* @param state - State value
|
|
88
|
+
* @returns State data or null if not found/invalid
|
|
89
|
+
*/
|
|
90
|
+
getOAuthState(state: string): Promise<Record<string, unknown> | null>;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=oauth-security.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-security.service.d.ts","sourceRoot":"","sources":["../../src/services/oauth-security.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI7D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAK7B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB,CAAC;IAL3B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,aAAa,CAA0B;gBAGrC,OAAO,EAAE,WAAW,EACpB,gBAAgB,CAAC,EAAE,MAAM,YAAA;IAKnC;;;;OAIG;YACW,uBAAuB;IAoCrC;;;;;OAKG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqClD;;;;;OAKG;IACG,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqC3D;;;;;;OAMG;IACG,qBAAqB,IAAI,OAAO,CAAC,aAAa,CAAC;IA2BrD;;;;;;OAMG;IACG,mBAAmB,CACvB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAC1C,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAcrD;;;;;OAKG;IACH,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAgDzC;;;;;;OAMG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,GAAG,GAAE,MAAY,GAChB,OAAO,CAAC,IAAI,CAAC;IAwBhB;;;;;OAKG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CA6B3C"}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OAuth Security Service
|
|
3
|
+
*
|
|
4
|
+
* Provides security hardening for OAuth flows including:
|
|
5
|
+
* - PKCE (Proof Key for Code Exchange) challenge generation
|
|
6
|
+
* - Token encryption/decryption for secure storage
|
|
7
|
+
* - Enhanced rate limiting for OAuth operations
|
|
8
|
+
* - Redirect URI validation
|
|
9
|
+
*
|
|
10
|
+
* This service prepares the foundation for Phase 4 OAuth identity linking.
|
|
11
|
+
*/
|
|
12
|
+
import { STORAGE_KEYS } from "../constants/storage-keys";
|
|
13
|
+
import { RateLimitService } from "./rate-limit.service";
|
|
14
|
+
/**
|
|
15
|
+
* OAuth security service for Cloudflare Workers
|
|
16
|
+
*/
|
|
17
|
+
export class OAuthSecurityService {
|
|
18
|
+
storage;
|
|
19
|
+
encryptionSecret;
|
|
20
|
+
rateLimitService;
|
|
21
|
+
encryptionKey = null;
|
|
22
|
+
constructor(storage, encryptionSecret) {
|
|
23
|
+
this.storage = storage;
|
|
24
|
+
this.encryptionSecret = encryptionSecret;
|
|
25
|
+
this.rateLimitService = new RateLimitService(storage);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Initialize encryption key for token protection
|
|
29
|
+
*
|
|
30
|
+
* Uses PBKDF2 key derivation for secure key generation.
|
|
31
|
+
*/
|
|
32
|
+
async initializeEncryptionKey() {
|
|
33
|
+
if (!this.encryptionSecret) {
|
|
34
|
+
console.warn("[OAuthSecurity] No encryption secret provided, token encryption disabled");
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
const encoder = new TextEncoder();
|
|
39
|
+
const keyMaterial = await crypto.subtle.importKey("raw", encoder.encode(this.encryptionSecret), "PBKDF2", false, ["deriveBits", "deriveKey"]);
|
|
40
|
+
this.encryptionKey = await crypto.subtle.deriveKey({
|
|
41
|
+
name: "PBKDF2",
|
|
42
|
+
salt: encoder.encode("oauth-token-encryption"),
|
|
43
|
+
iterations: 100000,
|
|
44
|
+
hash: "SHA-256",
|
|
45
|
+
}, keyMaterial, { name: "AES-GCM", length: 256 }, false, ["encrypt", "decrypt"]);
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
console.error("[OAuthSecurity] Failed to initialize encryption key:", error);
|
|
49
|
+
throw error;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Encrypt OAuth tokens for secure storage
|
|
54
|
+
*
|
|
55
|
+
* @param token - Token to encrypt
|
|
56
|
+
* @returns Encrypted token (base64url encoded)
|
|
57
|
+
*/
|
|
58
|
+
async encryptToken(token) {
|
|
59
|
+
if (!this.encryptionKey) {
|
|
60
|
+
await this.initializeEncryptionKey();
|
|
61
|
+
}
|
|
62
|
+
if (!this.encryptionKey) {
|
|
63
|
+
// Encryption not available, return token as-is (not recommended for production)
|
|
64
|
+
console.warn("[OAuthSecurity] Encryption not available, returning plain token");
|
|
65
|
+
return token;
|
|
66
|
+
}
|
|
67
|
+
try {
|
|
68
|
+
const encoder = new TextEncoder();
|
|
69
|
+
const iv = crypto.getRandomValues(new Uint8Array(12));
|
|
70
|
+
const encrypted = await crypto.subtle.encrypt({ name: "AES-GCM", iv }, this.encryptionKey, encoder.encode(token));
|
|
71
|
+
// Combine IV and ciphertext
|
|
72
|
+
const combined = new Uint8Array(iv.length + encrypted.byteLength);
|
|
73
|
+
combined.set(iv, 0);
|
|
74
|
+
combined.set(new Uint8Array(encrypted), iv.length);
|
|
75
|
+
// Convert to base64url
|
|
76
|
+
return btoa(String.fromCharCode(...combined))
|
|
77
|
+
.replace(/\+/g, "-")
|
|
78
|
+
.replace(/\//g, "_")
|
|
79
|
+
.replace(/=/g, "");
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
console.error("[OAuthSecurity] Token encryption failed:", error);
|
|
83
|
+
throw error;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Decrypt OAuth tokens
|
|
88
|
+
*
|
|
89
|
+
* @param encryptedToken - Encrypted token (base64url encoded)
|
|
90
|
+
* @returns Decrypted token
|
|
91
|
+
*/
|
|
92
|
+
async decryptToken(encryptedToken) {
|
|
93
|
+
if (!this.encryptionKey) {
|
|
94
|
+
await this.initializeEncryptionKey();
|
|
95
|
+
}
|
|
96
|
+
if (!this.encryptionKey) {
|
|
97
|
+
// Encryption not available, assume token is plaintext
|
|
98
|
+
return encryptedToken;
|
|
99
|
+
}
|
|
100
|
+
try {
|
|
101
|
+
// Convert from base64url to base64
|
|
102
|
+
const base64 = encryptedToken
|
|
103
|
+
.replace(/-/g, "+")
|
|
104
|
+
.replace(/_/g, "/")
|
|
105
|
+
.padEnd(encryptedToken.length + ((4 - (encryptedToken.length % 4)) % 4), "=");
|
|
106
|
+
const combined = Uint8Array.from(atob(base64), (c) => c.charCodeAt(0));
|
|
107
|
+
const iv = combined.slice(0, 12);
|
|
108
|
+
const ciphertext = combined.slice(12);
|
|
109
|
+
const decrypted = await crypto.subtle.decrypt({ name: "AES-GCM", iv }, this.encryptionKey, ciphertext);
|
|
110
|
+
return new TextDecoder().decode(decrypted);
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
console.error("[OAuthSecurity] Token decryption failed:", error);
|
|
114
|
+
throw error;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Generate PKCE challenge for OAuth flow
|
|
119
|
+
*
|
|
120
|
+
* Implements RFC 7636 PKCE for enhanced security.
|
|
121
|
+
*
|
|
122
|
+
* @returns PKCE challenge with verifier, challenge, and method
|
|
123
|
+
*/
|
|
124
|
+
async generatePKCEChallenge() {
|
|
125
|
+
// Generate cryptographically secure verifier (43-128 characters)
|
|
126
|
+
const verifierBytes = crypto.getRandomValues(new Uint8Array(32));
|
|
127
|
+
const verifier = btoa(String.fromCharCode(...verifierBytes))
|
|
128
|
+
.replace(/\+/g, "-")
|
|
129
|
+
.replace(/\//g, "_")
|
|
130
|
+
.replace(/=/g, "");
|
|
131
|
+
// Generate challenge using SHA256
|
|
132
|
+
const encoder = new TextEncoder();
|
|
133
|
+
const data = encoder.encode(verifier);
|
|
134
|
+
// Use Web Crypto API for SHA256 (async)
|
|
135
|
+
const hashBuffer = await crypto.subtle.digest("SHA-256", data);
|
|
136
|
+
const hashArray = new Uint8Array(hashBuffer);
|
|
137
|
+
const challenge = btoa(String.fromCharCode(...hashArray))
|
|
138
|
+
.replace(/\+/g, "-")
|
|
139
|
+
.replace(/\//g, "_")
|
|
140
|
+
.replace(/=/g, "");
|
|
141
|
+
return {
|
|
142
|
+
verifier,
|
|
143
|
+
challenge,
|
|
144
|
+
method: "S256",
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Enhanced rate limiting for OAuth operations
|
|
149
|
+
*
|
|
150
|
+
* @param identifier - Unique identifier (IP address, user ID, etc.)
|
|
151
|
+
* @param operation - Operation type (login, callback, refresh)
|
|
152
|
+
* @returns Rate limit check result
|
|
153
|
+
*/
|
|
154
|
+
async checkOAuthRateLimit(identifier, operation) {
|
|
155
|
+
const result = await this.rateLimitService.checkLimit(`oauth-${operation}`, identifier);
|
|
156
|
+
if (!result.allowed) {
|
|
157
|
+
const retryAfter = Math.ceil((result.resetAt - Date.now()) / 1000);
|
|
158
|
+
return { allowed: false, retryAfter };
|
|
159
|
+
}
|
|
160
|
+
return { allowed: true };
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Validate OAuth redirect URI against whitelist
|
|
164
|
+
*
|
|
165
|
+
* @param uri - Redirect URI to validate
|
|
166
|
+
* @returns True if URI is allowed
|
|
167
|
+
*/
|
|
168
|
+
validateRedirectUri(uri) {
|
|
169
|
+
// Get allowed domains/patterns from environment
|
|
170
|
+
// In Cloudflare Workers, use env bindings instead of process.env
|
|
171
|
+
const allowedDomains = [];
|
|
172
|
+
const allowedPatterns = [];
|
|
173
|
+
// Try to get from environment (works in both Node.js and Cloudflare Workers)
|
|
174
|
+
// Use type assertion to avoid TypeScript index signature error
|
|
175
|
+
const globalObj = globalThis;
|
|
176
|
+
if (typeof globalObj !== "undefined" && globalObj.process?.env) {
|
|
177
|
+
if (globalObj.process.env.OAUTH_ALLOWED_DOMAINS) {
|
|
178
|
+
allowedDomains.push(...globalObj.process.env.OAUTH_ALLOWED_DOMAINS.split(","));
|
|
179
|
+
}
|
|
180
|
+
if (globalObj.process.env.OAUTH_ALLOWED_PATTERNS) {
|
|
181
|
+
allowedPatterns.push(...globalObj.process.env.OAUTH_ALLOWED_PATTERNS.split(","));
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
try {
|
|
185
|
+
const url = new URL(uri);
|
|
186
|
+
// Check exact domain match
|
|
187
|
+
if (allowedDomains.includes(url.hostname)) {
|
|
188
|
+
return true;
|
|
189
|
+
}
|
|
190
|
+
// Check pattern match
|
|
191
|
+
for (const pattern of allowedPatterns) {
|
|
192
|
+
const regex = new RegExp(pattern);
|
|
193
|
+
if (regex.test(uri)) {
|
|
194
|
+
return true;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
// If no restrictions configured, allow all (development mode)
|
|
198
|
+
if (allowedDomains.length === 0 && allowedPatterns.length === 0) {
|
|
199
|
+
console.warn("[OAuthSecurity] No redirect URI restrictions configured, allowing all");
|
|
200
|
+
return true;
|
|
201
|
+
}
|
|
202
|
+
return false;
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
return false;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Store OAuth state securely for CSRF protection
|
|
210
|
+
*
|
|
211
|
+
* @param state - State value
|
|
212
|
+
* @param stateData - State data to store
|
|
213
|
+
* @param ttl - Time to live in seconds (default: 10 minutes)
|
|
214
|
+
*/
|
|
215
|
+
async storeOAuthState(state, stateData, ttl = 600) {
|
|
216
|
+
const stateKey = STORAGE_KEYS.oauthState(state);
|
|
217
|
+
// Encrypt sensitive data if encryption is available
|
|
218
|
+
const dataToStore = { ...stateData };
|
|
219
|
+
if (this.encryptionSecret && stateData.pkceVerifier) {
|
|
220
|
+
try {
|
|
221
|
+
dataToStore.encryptedVerifier = await this.encryptToken(stateData.pkceVerifier);
|
|
222
|
+
delete dataToStore.pkceVerifier; // Remove plaintext verifier
|
|
223
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
console.warn("[OAuthSecurity] Failed to encrypt PKCE verifier, storing plaintext:", error);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
await this.storage.put(stateKey, JSON.stringify(dataToStore), {
|
|
229
|
+
expirationTtl: ttl,
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Retrieve and validate OAuth state
|
|
234
|
+
*
|
|
235
|
+
* @param state - State value
|
|
236
|
+
* @returns State data or null if not found/invalid
|
|
237
|
+
*/
|
|
238
|
+
async getOAuthState(state) {
|
|
239
|
+
const stateKey = STORAGE_KEYS.oauthState(state);
|
|
240
|
+
const stored = await this.storage.get(stateKey, "json");
|
|
241
|
+
if (!stored) {
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
244
|
+
// Decrypt PKCE verifier if encrypted
|
|
245
|
+
if (stored.encryptedVerifier && this.encryptionSecret) {
|
|
246
|
+
try {
|
|
247
|
+
stored.pkceVerifier = await this.decryptToken(stored.encryptedVerifier);
|
|
248
|
+
delete stored.encryptedVerifier;
|
|
249
|
+
}
|
|
250
|
+
catch (error) {
|
|
251
|
+
console.error("[OAuthSecurity] Failed to decrypt PKCE verifier:", error);
|
|
252
|
+
return null;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
// Delete state after retrieval (one-time use)
|
|
256
|
+
await this.storage.delete(stateKey);
|
|
257
|
+
return stored;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=oauth-security.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-security.service.js","sourceRoot":"","sources":["../../src/services/oauth-security.service.ts"],"names":[],"mappings":"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"}
|