@codefox-inc/oauth-provider 0.3.1 → 0.4.0

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.
Files changed (42) hide show
  1. package/README.md +40 -14
  2. package/dist/client/index.d.ts +4 -0
  3. package/dist/client/index.d.ts.map +1 -1
  4. package/dist/client/index.js +1 -0
  5. package/dist/client/index.js.map +1 -1
  6. package/dist/component/_generated/component.d.ts +9 -0
  7. package/dist/component/_generated/component.d.ts.map +1 -1
  8. package/dist/component/clientManagement.d.ts +1 -0
  9. package/dist/component/clientManagement.d.ts.map +1 -1
  10. package/dist/component/clientManagement.js +26 -2
  11. package/dist/component/clientManagement.js.map +1 -1
  12. package/dist/component/handlers.d.ts +16 -0
  13. package/dist/component/handlers.d.ts.map +1 -1
  14. package/dist/component/handlers.js +275 -28
  15. package/dist/component/handlers.js.map +1 -1
  16. package/dist/component/mutations.d.ts +9 -0
  17. package/dist/component/mutations.d.ts.map +1 -1
  18. package/dist/component/mutations.js +112 -40
  19. package/dist/component/mutations.js.map +1 -1
  20. package/dist/component/queries.d.ts +8 -0
  21. package/dist/component/queries.d.ts.map +1 -1
  22. package/dist/component/schema.d.ts +18 -4
  23. package/dist/component/schema.d.ts.map +1 -1
  24. package/dist/component/schema.js +7 -0
  25. package/dist/component/schema.js.map +1 -1
  26. package/dist/lib/oauth.d.ts.map +1 -1
  27. package/dist/lib/oauth.js +5 -2
  28. package/dist/lib/oauth.js.map +1 -1
  29. package/package.json +39 -39
  30. package/src/client/__tests__/oauth-provider.test.ts +39 -0
  31. package/src/client/index.ts +4 -0
  32. package/src/component/__tests__/handlers-protocol.test.ts +880 -0
  33. package/src/component/__tests__/mutations-protocol.test.ts +448 -0
  34. package/src/component/__tests__/oauth.test.ts +32 -28
  35. package/src/component/__tests__/rfc-compliance.test.ts +79 -11
  36. package/src/component/_generated/component.ts +17 -1
  37. package/src/component/clientManagement.ts +33 -2
  38. package/src/component/handlers.ts +355 -31
  39. package/src/component/mutations.ts +133 -40
  40. package/src/component/schema.ts +11 -0
  41. package/src/lib/__tests__/oauth-jwt.test.ts +68 -0
  42. package/src/lib/oauth.ts +8 -4
@@ -3,6 +3,7 @@
3
3
  * RFC 8252 Section 7.3: Loopback redirect URIs with variable ports
4
4
  */
5
5
  export declare function isLoopbackRedirectUri(uri: string): boolean;
6
+ export declare function isValidResourceUri(resource: string): boolean;
6
7
  /**
7
8
  * Match redirect URI with registered URIs
8
9
  * RFC 6749 Section 3.1.2.3: Exact string matching required
@@ -16,6 +17,8 @@ export declare function matchRedirectUri(requested: string, registered: string[]
16
17
  */
17
18
  export declare const issueAuthorizationCode: import("convex/server").RegisteredMutation<"public", {
18
19
  nonce?: string | undefined;
20
+ resource?: string | undefined;
21
+ authTime?: number | undefined;
19
22
  clientId: string;
20
23
  userId: string;
21
24
  scopes: string[];
@@ -32,6 +35,7 @@ export declare const issueAuthorizationCode: import("convex/server").RegisteredM
32
35
  */
33
36
  export declare const consumeAuthCode: import("convex/server").RegisteredMutation<"public", {
34
37
  redirectUri?: string | undefined;
38
+ resource?: string | undefined;
35
39
  clientId: string;
36
40
  code: string;
37
41
  codeVerifier: string;
@@ -43,9 +47,11 @@ export declare const consumeAuthCode: import("convex/server").RegisteredMutation
43
47
  * The original token value should be returned to the client, not stored.
44
48
  */
45
49
  export declare const saveTokens: import("convex/server").RegisteredMutation<"public", {
50
+ resource?: string | undefined;
46
51
  refreshToken?: string | undefined;
47
52
  refreshTokenExpiresAt?: number | undefined;
48
53
  authorizationCode?: string | undefined;
54
+ audience?: string | undefined;
49
55
  clientId: string;
50
56
  userId: string;
51
57
  scopes: string[];
@@ -59,8 +65,10 @@ export declare const saveTokens: import("convex/server").RegisteredMutation<"pub
59
65
  * Note: Tokens are stored as SHA-256 hashes for security.
60
66
  */
61
67
  export declare const rotateRefreshToken: import("convex/server").RegisteredMutation<"public", {
68
+ resource?: string | undefined;
62
69
  refreshToken?: string | undefined;
63
70
  refreshTokenExpiresAt?: number | undefined;
71
+ audience?: string | undefined;
64
72
  clientId: string;
65
73
  userId: string;
66
74
  scopes: string[];
@@ -87,6 +95,7 @@ export declare const cleanupExpired: import("convex/server").RegisteredMutation<
87
95
  * Called when user grants consent
88
96
  */
89
97
  export declare const upsertAuthorization: import("convex/server").RegisteredMutation<"public", {
98
+ resource?: string | undefined;
90
99
  clientId: string;
91
100
  userId: string;
92
101
  scopes: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../src/component/mutations.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAW1D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CA4BjF;AAMD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;mBA4DjC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;;;;;gBA0G1B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;;;;;;;;iBAsBrB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;iBAmF7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;;iBAgBvB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,cAAc;;;GA8BzB,CAAC;AAMH;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;qEAmC9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;iBAiBtC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;GAkC9B,CAAC"}
1
+ {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../src/component/mutations.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAc1D;AAQD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAO5D;AA2CD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAoCjF;AAMD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;mBAqEjC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;;;;;;gBAoG1B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;iBAoCrB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;iBAuF7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;;iBAgBvB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,cAAc;;;GA8BzB,CAAC;AAMH;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;qEAwC9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;iBAiBtC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;GAkC9B,CAAC"}
@@ -13,6 +13,9 @@ import { hashToken, isHashedToken } from "./token_security.js";
13
13
  export function isLoopbackRedirectUri(uri) {
14
14
  try {
15
15
  const parsed = new URL(uri);
16
+ if (parsed.username || parsed.password || parsed.hash) {
17
+ return false;
18
+ }
16
19
  return (parsed.hostname === "127.0.0.1" ||
17
20
  parsed.hostname === "::1" ||
18
21
  parsed.hostname === "localhost");
@@ -21,6 +24,53 @@ export function isLoopbackRedirectUri(uri) {
21
24
  return false;
22
25
  }
23
26
  }
27
+ const PKCE_PARAMETER_PATTERN = /^[A-Za-z0-9._~-]{43,128}$/;
28
+ function isValidPkceParameter(value) {
29
+ return PKCE_PARAMETER_PATTERN.test(value);
30
+ }
31
+ export function isValidResourceUri(resource) {
32
+ try {
33
+ const parsed = new URL(resource);
34
+ return parsed.protocol.length > 0 && parsed.hash === "";
35
+ }
36
+ catch {
37
+ return false;
38
+ }
39
+ }
40
+ function validateResourceUri(resource) {
41
+ if (resource !== undefined && !isValidResourceUri(resource)) {
42
+ throw new Error("invalid_target");
43
+ }
44
+ }
45
+ async function verifyPkce(codeChallengeMethod, codeChallenge, codeVerifier) {
46
+ if (codeChallengeMethod !== "S256" && codeChallengeMethod !== "plain") {
47
+ throw new Error("unsupported_code_challenge_method");
48
+ }
49
+ if (!isValidPkceParameter(codeVerifier)) {
50
+ throw new Error("invalid_code_verifier");
51
+ }
52
+ if (codeChallengeMethod === "S256") {
53
+ const encoder = new TextEncoder();
54
+ const data = encoder.encode(codeVerifier);
55
+ const hashBuffer = await crypto.subtle.digest("SHA-256", data);
56
+ const hashArray = Array.from(new Uint8Array(hashBuffer));
57
+ const hashBase64 = btoa(String.fromCharCode(...hashArray))
58
+ .replace(/\+/g, "-")
59
+ .replace(/\//g, "_")
60
+ .replace(/=+$/, "");
61
+ if (hashBase64 !== codeChallenge) {
62
+ throw new Error("invalid_code_verifier");
63
+ }
64
+ }
65
+ else if (codeChallengeMethod === "plain") {
66
+ if (codeVerifier !== codeChallenge) {
67
+ throw new Error("invalid_code_verifier");
68
+ }
69
+ }
70
+ else {
71
+ throw new Error("unsupported_code_challenge_method");
72
+ }
73
+ }
24
74
  /**
25
75
  * Match redirect URI with registered URIs
26
76
  * RFC 6749 Section 3.1.2.3: Exact string matching required
@@ -35,12 +85,20 @@ export function matchRedirectUri(requested, registered) {
35
85
  if (isLoopbackRedirectUri(requested)) {
36
86
  try {
37
87
  const reqUrl = new URL(requested);
88
+ if (reqUrl.protocol !== "http:" || reqUrl.username || reqUrl.password || reqUrl.hash) {
89
+ return false;
90
+ }
38
91
  for (const regUri of registered) {
39
92
  if (isLoopbackRedirectUri(regUri)) {
40
93
  const regUrl = new URL(regUri);
41
- // ホストとパスが一致すればポート違いを許容
42
- if (reqUrl.hostname === regUrl.hostname &&
43
- reqUrl.pathname === regUrl.pathname) {
94
+ // loopback 例外は port の差分だけを許容する
95
+ if (regUrl.protocol === "http:" &&
96
+ !regUrl.username &&
97
+ !regUrl.password &&
98
+ !regUrl.hash &&
99
+ reqUrl.hostname === regUrl.hostname &&
100
+ reqUrl.pathname === regUrl.pathname &&
101
+ reqUrl.search === regUrl.search) {
44
102
  return true;
45
103
  }
46
104
  }
@@ -69,12 +127,18 @@ export const issueAuthorizationCode = mutation({
69
127
  codeChallenge: v.string(),
70
128
  codeChallengeMethod: v.string(),
71
129
  nonce: v.optional(v.string()),
130
+ resource: v.optional(v.string()),
131
+ authTime: v.optional(v.number()),
72
132
  },
73
133
  handler: async (ctx, args) => {
134
+ validateResourceUri(args.resource);
74
135
  // 1. PKCE検証(RFC 7636)
75
136
  if (!args.codeChallenge || args.codeChallenge.trim() === "") {
76
137
  throw new Error("code_challenge required");
77
138
  }
139
+ if (!isValidPkceParameter(args.codeChallenge)) {
140
+ throw new Error("invalid_code_challenge");
141
+ }
78
142
  if (args.codeChallengeMethod !== "S256") {
79
143
  throw new Error("plain code_challenge_method is not supported, use S256");
80
144
  }
@@ -107,6 +171,8 @@ export const issueAuthorizationCode = mutation({
107
171
  codeChallenge: args.codeChallenge,
108
172
  codeChallengeMethod: args.codeChallengeMethod,
109
173
  nonce: args.nonce,
174
+ resource: args.resource,
175
+ authTime: args.authTime ?? Math.floor(Date.now() / 1000),
110
176
  expiresAt: Date.now() + OAUTH_CONSTANTS.CODE_EXPIRY_MS,
111
177
  });
112
178
  return code;
@@ -125,6 +191,7 @@ export const consumeAuthCode = mutation({
125
191
  clientId: v.string(),
126
192
  redirectUri: v.optional(v.string()), // OAuth 2.1: optional
127
193
  codeVerifier: v.string(),
194
+ resource: v.optional(v.string()),
128
195
  },
129
196
  handler: async (ctx, args) => {
130
197
  // 1. Find Code (by hash)
@@ -143,8 +210,26 @@ export const consumeAuthCode = mutation({
143
210
  if (!authCode) {
144
211
  throw new Error("invalid_grant");
145
212
  }
213
+ const validateCodeRequest = async () => {
214
+ if (authCode.clientId !== args.clientId) {
215
+ throw new Error("invalid_grant");
216
+ }
217
+ // OAuth 2.1: token request redirect_uri is optional.
218
+ // If supplied, it must exactly match the stored authorization code binding.
219
+ if (args.redirectUri && authCode.redirectUri !== args.redirectUri) {
220
+ throw new Error("redirect_uri_mismatch");
221
+ }
222
+ if (!authCode.resource && args.resource) {
223
+ throw new Error("invalid_target");
224
+ }
225
+ if (authCode.resource && args.resource && authCode.resource !== args.resource) {
226
+ throw new Error("invalid_target");
227
+ }
228
+ await verifyPkce(authCode.codeChallengeMethod, authCode.codeChallenge, args.codeVerifier);
229
+ };
146
230
  // RFC Line 1136: Detect authorization code reuse (replay attack)
147
231
  if (authCode.usedAt !== undefined) {
232
+ await validateCodeRequest();
148
233
  // Code was already used - this is a replay attack
149
234
  // Revoke all tokens issued with this code
150
235
  const tokensToRevoke = await ctx.db
@@ -154,8 +239,7 @@ export const consumeAuthCode = mutation({
154
239
  for (const token of tokensToRevoke) {
155
240
  await ctx.db.delete(token._id);
156
241
  }
157
- // Delete the code
158
- await ctx.db.delete(authCode._id);
242
+ await ctx.db.patch(authCode._id, { replayDetectedAt: Date.now() });
159
243
  // Return error status (cannot throw because it would rollback token deletion)
160
244
  return {
161
245
  error: "authorization_code_reuse_detected",
@@ -163,45 +247,11 @@ export const consumeAuthCode = mutation({
163
247
  };
164
248
  }
165
249
  // 2. Validation
166
- if (authCode.clientId !== args.clientId) {
167
- throw new Error("invalid_client");
168
- }
169
250
  if (authCode.expiresAt < Date.now()) {
170
251
  await ctx.db.delete(authCode._id);
171
252
  throw new Error("invalid_grant");
172
253
  }
173
- // redirect_uri validation: 発行時に設定されている場合は必須
174
- // RFC 6749 Section 4.1.3: redirect_uri REQUIRED if included in authorization request
175
- if (authCode.redirectUri) {
176
- if (!args.redirectUri) {
177
- throw new Error("redirect_uri_required");
178
- }
179
- if (authCode.redirectUri !== args.redirectUri) {
180
- throw new Error("redirect_uri_mismatch");
181
- }
182
- }
183
- // PKCE検証(エラーメッセージ改善)
184
- if (authCode.codeChallengeMethod === "S256") {
185
- const encoder = new TextEncoder();
186
- const data = encoder.encode(args.codeVerifier);
187
- const hashBuffer = await crypto.subtle.digest("SHA-256", data);
188
- const hashArray = Array.from(new Uint8Array(hashBuffer));
189
- const hashBase64 = btoa(String.fromCharCode(...hashArray))
190
- .replace(/\+/g, "-")
191
- .replace(/\//g, "_")
192
- .replace(/=+$/, "");
193
- if (hashBase64 !== authCode.codeChallenge) {
194
- throw new Error("invalid_code_verifier");
195
- }
196
- }
197
- else if (authCode.codeChallengeMethod === "plain") {
198
- if (args.codeVerifier !== authCode.codeChallenge) {
199
- throw new Error("invalid_code_verifier");
200
- }
201
- }
202
- else {
203
- throw new Error("unsupported_code_challenge_method");
204
- }
254
+ await validateCodeRequest();
205
255
  // 3. Mark Code as Used (RFC Line 1136: detect replay)
206
256
  await ctx.db.patch(authCode._id, { usedAt: Date.now() });
207
257
  return {
@@ -211,6 +261,8 @@ export const consumeAuthCode = mutation({
211
261
  codeChallengeMethod: authCode.codeChallengeMethod,
212
262
  redirectUri: authCode.redirectUri,
213
263
  nonce: authCode.nonce,
264
+ resource: authCode.resource,
265
+ authTime: authCode.authTime,
214
266
  codeHash, // Return code hash to link tokens
215
267
  };
216
268
  },
@@ -231,8 +283,20 @@ export const saveTokens = mutation({
231
283
  expiresAt: v.number(),
232
284
  refreshTokenExpiresAt: v.optional(v.number()),
233
285
  authorizationCode: v.optional(v.string()), // Hashed code for replay detection (RFC Line 1136)
286
+ resource: v.optional(v.string()),
287
+ audience: v.optional(v.string()),
234
288
  },
235
289
  handler: async (ctx, args) => {
290
+ const authorizationCode = args.authorizationCode;
291
+ if (authorizationCode) {
292
+ const authCode = await ctx.db
293
+ .query("oauthCodes")
294
+ .withIndex("by_code", (q) => q.eq("code", authorizationCode))
295
+ .unique();
296
+ if (authCode?.replayDetectedAt !== undefined) {
297
+ throw new Error("authorization_code_reuse_detected");
298
+ }
299
+ }
236
300
  // Hash tokens before storing for security
237
301
  // The original tokens are returned to the client, hashes are stored
238
302
  await ctx.db.insert("oauthTokens", {
@@ -261,6 +325,8 @@ export const rotateRefreshToken = mutation({
261
325
  scopes: v.array(v.string()),
262
326
  expiresAt: v.number(),
263
327
  refreshTokenExpiresAt: v.optional(v.number()),
328
+ resource: v.optional(v.string()),
329
+ audience: v.optional(v.string()),
264
330
  },
265
331
  handler: async (ctx, args) => {
266
332
  // Hash the old refresh token for lookup
@@ -315,6 +381,8 @@ export const rotateRefreshToken = mutation({
315
381
  scopes: args.scopes,
316
382
  expiresAt: args.expiresAt,
317
383
  refreshTokenExpiresAt: args.refreshTokenExpiresAt,
384
+ resource: args.resource,
385
+ audience: args.audience,
318
386
  });
319
387
  },
320
388
  });
@@ -378,8 +446,10 @@ export const upsertAuthorization = mutation({
378
446
  userId: v.string(),
379
447
  clientId: v.string(),
380
448
  scopes: v.array(v.string()),
449
+ resource: v.optional(v.string()),
381
450
  },
382
451
  handler: async (ctx, args) => {
452
+ validateResourceUri(args.resource);
383
453
  const existing = await ctx.db
384
454
  .query("oauthAuthorizations")
385
455
  .withIndex("by_user_client", (q) => q.eq("userId", args.userId).eq("clientId", args.clientId))
@@ -390,6 +460,7 @@ export const upsertAuthorization = mutation({
390
460
  const mergedScopes = [...new Set([...existing.scopes, ...args.scopes])];
391
461
  await ctx.db.patch(existing._id, {
392
462
  scopes: mergedScopes,
463
+ resource: args.resource ?? existing.resource,
393
464
  lastUsedAt: now,
394
465
  });
395
466
  return existing._id;
@@ -400,6 +471,7 @@ export const upsertAuthorization = mutation({
400
471
  userId: args.userId,
401
472
  clientId: args.clientId,
402
473
  scopes: args.scopes,
474
+ resource: args.resource,
403
475
  authorizedAt: now,
404
476
  lastUsedAt: now,
405
477
  });
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../src/component/mutations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../src/component/mutations.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export declare const getClient: import("convex/server").RegisteredQuery<"public"
12
12
  tosUrl?: string | undefined;
13
13
  policyUrl?: string | undefined;
14
14
  clientSecret?: string | undefined;
15
+ tokenEndpointAuthMethod?: "client_secret_basic" | "client_secret_post" | "none" | undefined;
15
16
  isInternal?: boolean | undefined;
16
17
  allowedScopes: string[];
17
18
  name: string;
@@ -31,9 +32,11 @@ export declare const getRefreshToken: import("convex/server").RegisteredQuery<"p
31
32
  }, Promise<{
32
33
  _id: import("convex/values").GenericId<"oauthTokens">;
33
34
  _creationTime: number;
35
+ resource?: string | undefined;
34
36
  refreshToken?: string | undefined;
35
37
  refreshTokenExpiresAt?: number | undefined;
36
38
  authorizationCode?: string | undefined;
39
+ audience?: string | undefined;
37
40
  clientId: string;
38
41
  userId: string;
39
42
  scopes: string[];
@@ -52,6 +55,7 @@ export declare const listClients: import("convex/server").RegisteredQuery<"publi
52
55
  website?: string | undefined;
53
56
  tosUrl?: string | undefined;
54
57
  policyUrl?: string | undefined;
58
+ tokenEndpointAuthMethod?: "client_secret_basic" | "client_secret_post" | "none" | undefined;
55
59
  isInternal?: boolean | undefined;
56
60
  allowedScopes: string[];
57
61
  name: string;
@@ -68,9 +72,11 @@ export declare const getTokensByUser: import("convex/server").RegisteredQuery<"p
68
72
  }, Promise<{
69
73
  _id: import("convex/values").GenericId<"oauthTokens">;
70
74
  _creationTime: number;
75
+ resource?: string | undefined;
71
76
  refreshToken?: string | undefined;
72
77
  refreshTokenExpiresAt?: number | undefined;
73
78
  authorizationCode?: string | undefined;
79
+ audience?: string | undefined;
74
80
  clientId: string;
75
81
  userId: string;
76
82
  scopes: string[];
@@ -86,6 +92,7 @@ export declare const getAuthorization: import("convex/server").RegisteredQuery<"
86
92
  }, Promise<{
87
93
  _id: import("convex/values").GenericId<"oauthAuthorizations">;
88
94
  _creationTime: number;
95
+ resource?: string | undefined;
89
96
  lastUsedAt?: number | undefined;
90
97
  clientId: string;
91
98
  userId: string;
@@ -118,6 +125,7 @@ export declare const listUserAuthorizations: import("convex/server").RegisteredQ
118
125
  clientWebsite: string | undefined;
119
126
  _id: import("convex/values").GenericId<"oauthAuthorizations">;
120
127
  _creationTime: number;
128
+ resource?: string | undefined;
121
129
  lastUsedAt?: number | undefined;
122
130
  clientId: string;
123
131
  userId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/component/queries.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;UAQpB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;UAsB1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;KAUtB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;KAQ1B,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;UAa3B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;oBAc3B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;oBAW9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;KA2BjC,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/component/queries.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;UAQpB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;UAsB1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;KAUtB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;KAQ1B,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;UAa3B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;oBAc3B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;oBAW9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;KA2BjC,CAAC"}
@@ -10,6 +10,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
10
10
  tosUrl?: string | undefined;
11
11
  policyUrl?: string | undefined;
12
12
  clientSecret?: string | undefined;
13
+ tokenEndpointAuthMethod?: "client_secret_basic" | "client_secret_post" | "none" | undefined;
13
14
  isInternal?: boolean | undefined;
14
15
  allowedScopes: string[];
15
16
  name: string;
@@ -27,11 +28,12 @@ declare const _default: import("convex/server").SchemaDefinition<{
27
28
  clientId: import("convex/values").VString<string, "required">;
28
29
  clientSecret: import("convex/values").VString<string | undefined, "optional">;
29
30
  type: import("convex/values").VUnion<"public" | "confidential", [import("convex/values").VLiteral<"confidential", "required">, import("convex/values").VLiteral<"public", "required">], "required", never>;
31
+ tokenEndpointAuthMethod: import("convex/values").VUnion<"client_secret_basic" | "client_secret_post" | "none" | undefined, [import("convex/values").VLiteral<"client_secret_basic", "required">, import("convex/values").VLiteral<"client_secret_post", "required">, import("convex/values").VLiteral<"none", "required">], "optional", never>;
30
32
  redirectUris: import("convex/values").VArray<string[], import("convex/values").VString<string, "required">, "required">;
31
33
  allowedScopes: import("convex/values").VArray<string[], import("convex/values").VString<string, "required">, "required">;
32
34
  isInternal: import("convex/values").VBoolean<boolean | undefined, "optional">;
33
35
  createdAt: import("convex/values").VFloat64<number, "required">;
34
- }, "required", "allowedScopes" | "name" | "description" | "logoUrl" | "website" | "tosUrl" | "policyUrl" | "clientId" | "clientSecret" | "type" | "redirectUris" | "isInternal" | "createdAt">, {
36
+ }, "required", "allowedScopes" | "name" | "description" | "logoUrl" | "website" | "tosUrl" | "policyUrl" | "clientId" | "clientSecret" | "type" | "tokenEndpointAuthMethod" | "redirectUris" | "isInternal" | "createdAt">, {
35
37
  by_client_id: ["clientId", "_creationTime"];
36
38
  }, {}, {}>;
37
39
  /**
@@ -40,7 +42,10 @@ declare const _default: import("convex/server").SchemaDefinition<{
40
42
  */
41
43
  oauthCodes: import("convex/server").TableDefinition<import("convex/values").VObject<{
42
44
  nonce?: string | undefined;
45
+ resource?: string | undefined;
46
+ authTime?: number | undefined;
43
47
  usedAt?: number | undefined;
48
+ replayDetectedAt?: number | undefined;
44
49
  clientId: string;
45
50
  code: string;
46
51
  userId: string;
@@ -58,9 +63,12 @@ declare const _default: import("convex/server").SchemaDefinition<{
58
63
  codeChallenge: import("convex/values").VString<string, "required">;
59
64
  codeChallengeMethod: import("convex/values").VString<string, "required">;
60
65
  nonce: import("convex/values").VString<string | undefined, "optional">;
66
+ resource: import("convex/values").VString<string | undefined, "optional">;
67
+ authTime: import("convex/values").VFloat64<number | undefined, "optional">;
61
68
  expiresAt: import("convex/values").VFloat64<number, "required">;
62
69
  usedAt: import("convex/values").VFloat64<number | undefined, "optional">;
63
- }, "required", "clientId" | "code" | "userId" | "scopes" | "redirectUri" | "codeChallenge" | "codeChallengeMethod" | "nonce" | "expiresAt" | "usedAt">, {
70
+ replayDetectedAt: import("convex/values").VFloat64<number | undefined, "optional">;
71
+ }, "required", "clientId" | "code" | "userId" | "scopes" | "redirectUri" | "codeChallenge" | "codeChallengeMethod" | "nonce" | "resource" | "authTime" | "expiresAt" | "usedAt" | "replayDetectedAt">, {
64
72
  by_code: ["code", "_creationTime"];
65
73
  }, {}, {}>;
66
74
  /**
@@ -68,9 +76,11 @@ declare const _default: import("convex/server").SchemaDefinition<{
68
76
  * Access and Refresh tokens
69
77
  */
70
78
  oauthTokens: import("convex/server").TableDefinition<import("convex/values").VObject<{
79
+ resource?: string | undefined;
71
80
  refreshToken?: string | undefined;
72
81
  refreshTokenExpiresAt?: number | undefined;
73
82
  authorizationCode?: string | undefined;
83
+ audience?: string | undefined;
74
84
  clientId: string;
75
85
  userId: string;
76
86
  scopes: string[];
@@ -85,7 +95,9 @@ declare const _default: import("convex/server").SchemaDefinition<{
85
95
  expiresAt: import("convex/values").VFloat64<number, "required">;
86
96
  refreshTokenExpiresAt: import("convex/values").VFloat64<number | undefined, "optional">;
87
97
  authorizationCode: import("convex/values").VString<string | undefined, "optional">;
88
- }, "required", "clientId" | "userId" | "scopes" | "expiresAt" | "accessToken" | "refreshToken" | "refreshTokenExpiresAt" | "authorizationCode">, {
98
+ resource: import("convex/values").VString<string | undefined, "optional">;
99
+ audience: import("convex/values").VString<string | undefined, "optional">;
100
+ }, "required", "clientId" | "userId" | "scopes" | "resource" | "expiresAt" | "accessToken" | "refreshToken" | "refreshTokenExpiresAt" | "authorizationCode" | "audience">, {
89
101
  by_access_token: ["accessToken", "_creationTime"];
90
102
  by_refresh_token: ["refreshToken", "_creationTime"];
91
103
  by_user: ["userId", "_creationTime"];
@@ -96,6 +108,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
96
108
  * User consent records - persists beyond token expiry
97
109
  */
98
110
  oauthAuthorizations: import("convex/server").TableDefinition<import("convex/values").VObject<{
111
+ resource?: string | undefined;
99
112
  lastUsedAt?: number | undefined;
100
113
  clientId: string;
101
114
  userId: string;
@@ -105,9 +118,10 @@ declare const _default: import("convex/server").SchemaDefinition<{
105
118
  userId: import("convex/values").VString<string, "required">;
106
119
  clientId: import("convex/values").VString<string, "required">;
107
120
  scopes: import("convex/values").VArray<string[], import("convex/values").VString<string, "required">, "required">;
121
+ resource: import("convex/values").VString<string | undefined, "optional">;
108
122
  authorizedAt: import("convex/values").VFloat64<number, "required">;
109
123
  lastUsedAt: import("convex/values").VFloat64<number | undefined, "optional">;
110
- }, "required", "clientId" | "userId" | "scopes" | "authorizedAt" | "lastUsedAt">, {
124
+ }, "required", "clientId" | "userId" | "scopes" | "resource" | "authorizedAt" | "lastUsedAt">, {
111
125
  by_user: ["userId", "_creationTime"];
112
126
  by_user_client: ["userId", "clientId", "_creationTime"];
113
127
  }, {}, {}>;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":";IAII;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsBH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;IAiBH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;IAoBH;;;OAGG;;;;;;;;;;;;;;;;;;AAxEP,wBAwFG"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":";IAII;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2BH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoBH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsBH;;;OAGG;;;;;;;;;;;;;;;;;;;;AAlFP,wBAmGG"}
@@ -16,6 +16,7 @@ export default defineSchema({
16
16
  clientId: v.string(), // Public ID (UUID v4)
17
17
  clientSecret: v.optional(v.string()), // Hashed Secret (for confidential clients)
18
18
  type: v.union(v.literal("confidential"), v.literal("public")),
19
+ tokenEndpointAuthMethod: v.optional(v.union(v.literal("client_secret_basic"), v.literal("client_secret_post"), v.literal("none"))),
19
20
  redirectUris: v.array(v.string()), // Must be exact match
20
21
  allowedScopes: v.array(v.string()), // e.g. ["openid", "profile", "email"]
21
22
  isInternal: v.optional(v.boolean()), // Internal tool flag
@@ -35,8 +36,11 @@ export default defineSchema({
35
36
  codeChallenge: v.string(),
36
37
  codeChallengeMethod: v.string(), // "S256" or "plain"
37
38
  nonce: v.optional(v.string()), // OIDC Nonce
39
+ resource: v.optional(v.string()),
40
+ authTime: v.optional(v.number()), // OIDC auth_time (seconds since epoch)
38
41
  expiresAt: v.number(), // Usually 10 minutes
39
42
  usedAt: v.optional(v.number()), // RFC Line 1136: Track code usage for replay detection
43
+ replayDetectedAt: v.optional(v.number()), // Tombstone marker to reject late token saves
40
44
  }).index("by_code", ["code"]),
41
45
  /**
42
46
  * OAuth Tokens
@@ -52,6 +56,8 @@ export default defineSchema({
52
56
  refreshTokenExpiresAt: v.optional(v.number()), // Refresh Token Expiry
53
57
  // RFC Line 1136: Track which authorization code issued this token for replay detection
54
58
  authorizationCode: v.optional(v.string()), // Hashed authorization code
59
+ resource: v.optional(v.string()),
60
+ audience: v.optional(v.string()),
55
61
  })
56
62
  .index("by_access_token", ["accessToken"])
57
63
  .index("by_refresh_token", ["refreshToken"])
@@ -66,6 +72,7 @@ export default defineSchema({
66
72
  clientId: v.string(),
67
73
  // Authorized scopes
68
74
  scopes: v.array(v.string()),
75
+ resource: v.optional(v.string()),
69
76
  // When the user first authorized this client
70
77
  authorizedAt: v.number(),
71
78
  // Last time a token was issued for this authorization
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}