@samebase/identity-broker 0.1.0 → 0.2.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.
- package/README.md +17 -3
- package/dist/cli/index.js +18 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/client/html.d.ts +5 -1
- package/dist/client/html.js +14 -7
- package/dist/client/html.js.map +1 -1
- package/dist/client/index.d.ts +16 -1
- package/dist/client/index.js +136 -38
- package/dist/client/index.js.map +1 -1
- package/dist/client/keys.d.ts +5 -0
- package/dist/client/keys.js +8 -0
- package/dist/client/keys.js.map +1 -1
- package/dist/client/protocol.d.ts +5 -1
- package/dist/client/protocol.js +30 -10
- package/dist/client/protocol.js.map +1 -1
- package/dist/client/responses.d.ts +1 -1
- package/dist/client/responses.js +2 -2
- package/dist/client/responses.js.map +1 -1
- package/dist/component/_generated/component.d.ts +24 -1
- package/dist/component/authRequests.d.ts +24 -4
- package/dist/component/authRequests.js +77 -8
- package/dist/component/authRequests.js.map +1 -1
- package/dist/component/lifecycle.d.ts +6 -3
- package/dist/component/lifecycle.js +23 -3
- package/dist/component/lifecycle.js.map +1 -1
- package/dist/component/registration.d.ts +12 -0
- package/dist/component/registration.js +33 -0
- package/dist/component/registration.js.map +1 -1
- package/dist/component/schema.d.ts +109 -10
- package/dist/component/schema.js +20 -2
- package/dist/component/schema.js.map +1 -1
- package/package.json +1 -1
|
@@ -35,6 +35,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
35
35
|
scope: string;
|
|
36
36
|
state?: string;
|
|
37
37
|
status: "pending";
|
|
38
|
+
txnCookieHash?: string;
|
|
38
39
|
} | {
|
|
39
40
|
appId: string;
|
|
40
41
|
clientId: string;
|
|
@@ -49,6 +50,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
49
50
|
scope: string;
|
|
50
51
|
state?: string;
|
|
51
52
|
status: "upstream";
|
|
53
|
+
txnCookieHash?: string;
|
|
52
54
|
upstreamCodeVerifier: string;
|
|
53
55
|
upstreamNonce?: string;
|
|
54
56
|
upstreamStateHash: string;
|
|
@@ -66,6 +68,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
66
68
|
scope: string;
|
|
67
69
|
state?: string;
|
|
68
70
|
status: "claimed";
|
|
71
|
+
txnCookieHash?: string;
|
|
69
72
|
} | {
|
|
70
73
|
appId: string;
|
|
71
74
|
clientId: string;
|
|
@@ -76,6 +79,8 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
76
79
|
emailAttempts: number;
|
|
77
80
|
emailCodeExpiresAt: number;
|
|
78
81
|
emailCodeHash: string;
|
|
82
|
+
emailLastSentAt: number;
|
|
83
|
+
emailSends: number;
|
|
79
84
|
expiresAt: number;
|
|
80
85
|
freshLogin: boolean;
|
|
81
86
|
nonce?: string;
|
|
@@ -84,6 +89,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
84
89
|
scope: string;
|
|
85
90
|
state?: string;
|
|
86
91
|
status: "emailSent";
|
|
92
|
+
txnCookieHash?: string;
|
|
87
93
|
} | {
|
|
88
94
|
appId: string;
|
|
89
95
|
authTime: number;
|
|
@@ -106,6 +112,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
106
112
|
scope: string;
|
|
107
113
|
state?: string;
|
|
108
114
|
status: "completed";
|
|
115
|
+
txnCookieHash?: string;
|
|
109
116
|
}, [import("convex/values").VObject<{
|
|
110
117
|
appId: string;
|
|
111
118
|
clientId: string;
|
|
@@ -119,6 +126,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
119
126
|
scope: string;
|
|
120
127
|
state?: string;
|
|
121
128
|
status: "pending";
|
|
129
|
+
txnCookieHash?: string;
|
|
122
130
|
}, {
|
|
123
131
|
requestId: import("convex/values").VString<string, "required">;
|
|
124
132
|
appId: import("convex/values").VString<string, "required">;
|
|
@@ -130,10 +138,15 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
130
138
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
131
139
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
132
140
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
141
|
+
/**
|
|
142
|
+
* SHA-256 hex of the `broker_txn` cookie set with the chooser page: `/continue` needs the cookie,
|
|
143
|
+
* so only the browser that saw the chooser can continue. Absent when /authorize skipped the chooser.
|
|
144
|
+
*/
|
|
145
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
133
146
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
134
147
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
135
148
|
status: import("convex/values").VLiteral<"pending", "required">;
|
|
136
|
-
}, "required", "appId" | "clientId" | "codeChallenge" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status">, import("convex/values").VObject<{
|
|
149
|
+
}, "required", "appId" | "clientId" | "codeChallenge" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">, import("convex/values").VObject<{
|
|
137
150
|
appId: string;
|
|
138
151
|
clientId: string;
|
|
139
152
|
codeChallenge: string;
|
|
@@ -147,6 +160,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
147
160
|
scope: string;
|
|
148
161
|
state?: string;
|
|
149
162
|
status: "upstream";
|
|
163
|
+
txnCookieHash?: string;
|
|
150
164
|
upstreamCodeVerifier: string;
|
|
151
165
|
upstreamNonce?: string;
|
|
152
166
|
upstreamStateHash: string;
|
|
@@ -161,6 +175,11 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
161
175
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
162
176
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
163
177
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
178
|
+
/**
|
|
179
|
+
* SHA-256 hex of the `broker_txn` cookie set with the chooser page: `/continue` needs the cookie,
|
|
180
|
+
* so only the browser that saw the chooser can continue. Absent when /authorize skipped the chooser.
|
|
181
|
+
*/
|
|
182
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
164
183
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
165
184
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
166
185
|
status: import("convex/values").VLiteral<"upstream", "required">;
|
|
@@ -168,7 +187,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
168
187
|
upstreamStateHash: import("convex/values").VString<string, "required">;
|
|
169
188
|
upstreamCodeVerifier: import("convex/values").VString<string, "required">;
|
|
170
189
|
upstreamNonce: import("convex/values").VString<string | undefined, "optional">;
|
|
171
|
-
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "upstreamCodeVerifier" | "upstreamNonce" | "upstreamStateHash">, import("convex/values").VObject<{
|
|
190
|
+
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash" | "upstreamCodeVerifier" | "upstreamNonce" | "upstreamStateHash">, import("convex/values").VObject<{
|
|
172
191
|
appId: string;
|
|
173
192
|
clientId: string;
|
|
174
193
|
codeChallenge: string;
|
|
@@ -182,6 +201,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
182
201
|
scope: string;
|
|
183
202
|
state?: string;
|
|
184
203
|
status: "claimed";
|
|
204
|
+
txnCookieHash?: string;
|
|
185
205
|
}, {
|
|
186
206
|
requestId: import("convex/values").VString<string, "required">;
|
|
187
207
|
appId: import("convex/values").VString<string, "required">;
|
|
@@ -193,11 +213,16 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
193
213
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
194
214
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
195
215
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
216
|
+
/**
|
|
217
|
+
* SHA-256 hex of the `broker_txn` cookie set with the chooser page: `/continue` needs the cookie,
|
|
218
|
+
* so only the browser that saw the chooser can continue. Absent when /authorize skipped the chooser.
|
|
219
|
+
*/
|
|
220
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
196
221
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
197
222
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
198
223
|
status: import("convex/values").VLiteral<"claimed", "required">;
|
|
199
224
|
connector: import("convex/values").VString<string, "required">;
|
|
200
|
-
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status">, import("convex/values").VObject<{
|
|
225
|
+
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">, import("convex/values").VObject<{
|
|
201
226
|
appId: string;
|
|
202
227
|
clientId: string;
|
|
203
228
|
codeChallenge: string;
|
|
@@ -207,6 +232,8 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
207
232
|
emailAttempts: number;
|
|
208
233
|
emailCodeExpiresAt: number;
|
|
209
234
|
emailCodeHash: string;
|
|
235
|
+
emailLastSentAt: number;
|
|
236
|
+
emailSends: number;
|
|
210
237
|
expiresAt: number;
|
|
211
238
|
freshLogin: boolean;
|
|
212
239
|
nonce?: string;
|
|
@@ -215,6 +242,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
215
242
|
scope: string;
|
|
216
243
|
state?: string;
|
|
217
244
|
status: "emailSent";
|
|
245
|
+
txnCookieHash?: string;
|
|
218
246
|
}, {
|
|
219
247
|
requestId: import("convex/values").VString<string, "required">;
|
|
220
248
|
appId: import("convex/values").VString<string, "required">;
|
|
@@ -226,6 +254,11 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
226
254
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
227
255
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
228
256
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
257
|
+
/**
|
|
258
|
+
* SHA-256 hex of the `broker_txn` cookie set with the chooser page: `/continue` needs the cookie,
|
|
259
|
+
* so only the browser that saw the chooser can continue. Absent when /authorize skipped the chooser.
|
|
260
|
+
*/
|
|
261
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
229
262
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
230
263
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
231
264
|
status: import("convex/values").VLiteral<"emailSent", "required">;
|
|
@@ -233,8 +266,12 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
233
266
|
email: import("convex/values").VString<string, "required">;
|
|
234
267
|
emailCodeHash: import("convex/values").VString<string, "required">;
|
|
235
268
|
emailCodeExpiresAt: import("convex/values").VFloat64<number, "required">;
|
|
269
|
+
/** Wrong codes typed, across every code sent for this request. */
|
|
236
270
|
emailAttempts: import("convex/values").VFloat64<number, "required">;
|
|
237
|
-
|
|
271
|
+
/** Codes sent for this request. */
|
|
272
|
+
emailSends: import("convex/values").VFloat64<number, "required">;
|
|
273
|
+
emailLastSentAt: import("convex/values").VFloat64<number, "required">;
|
|
274
|
+
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "email" | "emailAttempts" | "emailCodeExpiresAt" | "emailCodeHash" | "emailLastSentAt" | "emailSends" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">, import("convex/values").VObject<{
|
|
238
275
|
appId: string;
|
|
239
276
|
authTime: number;
|
|
240
277
|
clientId: string;
|
|
@@ -256,6 +293,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
256
293
|
scope: string;
|
|
257
294
|
state?: string;
|
|
258
295
|
status: "completed";
|
|
296
|
+
txnCookieHash?: string;
|
|
259
297
|
}, {
|
|
260
298
|
requestId: import("convex/values").VString<string, "required">;
|
|
261
299
|
appId: import("convex/values").VString<string, "required">;
|
|
@@ -267,6 +305,11 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
267
305
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
268
306
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
269
307
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
308
|
+
/**
|
|
309
|
+
* SHA-256 hex of the `broker_txn` cookie set with the chooser page: `/continue` needs the cookie,
|
|
310
|
+
* so only the browser that saw the chooser can continue. Absent when /authorize skipped the chooser.
|
|
311
|
+
*/
|
|
312
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
270
313
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
271
314
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
272
315
|
status: import("convex/values").VLiteral<"completed", "required">;
|
|
@@ -286,7 +329,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
286
329
|
picture: import("convex/values").VString<string | undefined, "optional">;
|
|
287
330
|
}, "required", "connector" | "email" | "emailVerified" | "name" | "picture" | "upstreamId">;
|
|
288
331
|
authTime: import("convex/values").VFloat64<number, "required">;
|
|
289
|
-
}, "required", "appId" | "authTime" | "clientId" | "codeChallenge" | "createdAt" | "expiresAt" | "freshLogin" | "identity" | "identity.connector" | "identity.email" | "identity.emailVerified" | "identity.name" | "identity.picture" | "identity.upstreamId" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status">], "required", "appId" | "authTime" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "email" | "emailAttempts" | "emailCodeExpiresAt" | "emailCodeHash" | "expiresAt" | "freshLogin" | "identity" | "identity.connector" | "identity.email" | "identity.emailVerified" | "identity.name" | "identity.picture" | "identity.upstreamId" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "upstreamCodeVerifier" | "upstreamNonce" | "upstreamStateHash">;
|
|
332
|
+
}, "required", "appId" | "authTime" | "clientId" | "codeChallenge" | "createdAt" | "expiresAt" | "freshLogin" | "identity" | "identity.connector" | "identity.email" | "identity.emailVerified" | "identity.name" | "identity.picture" | "identity.upstreamId" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">], "required", "appId" | "authTime" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "email" | "emailAttempts" | "emailCodeExpiresAt" | "emailCodeHash" | "emailLastSentAt" | "emailSends" | "expiresAt" | "freshLogin" | "identity" | "identity.connector" | "identity.email" | "identity.emailVerified" | "identity.name" | "identity.picture" | "identity.upstreamId" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash" | "upstreamCodeVerifier" | "upstreamNonce" | "upstreamStateHash">;
|
|
290
333
|
declare const _default: import("convex/server").SchemaDefinition<{
|
|
291
334
|
apps: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
292
335
|
allowedCallbackHosts: string[];
|
|
@@ -316,6 +359,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
316
359
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
317
360
|
}, "required", "appId" | "createdAt" | "expiresAt" | "tokenHash">, {
|
|
318
361
|
by_app_id: ["appId", "_creationTime"];
|
|
362
|
+
by_expires_at: ["expiresAt", "_creationTime"];
|
|
319
363
|
by_token_hash: ["tokenHash", "_creationTime"];
|
|
320
364
|
}, {}, {}>;
|
|
321
365
|
clients: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
@@ -358,6 +402,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
358
402
|
scope: string;
|
|
359
403
|
state?: string;
|
|
360
404
|
status: "pending";
|
|
405
|
+
txnCookieHash?: string;
|
|
361
406
|
} | {
|
|
362
407
|
appId: string;
|
|
363
408
|
clientId: string;
|
|
@@ -372,6 +417,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
372
417
|
scope: string;
|
|
373
418
|
state?: string;
|
|
374
419
|
status: "upstream";
|
|
420
|
+
txnCookieHash?: string;
|
|
375
421
|
upstreamCodeVerifier: string;
|
|
376
422
|
upstreamNonce?: string;
|
|
377
423
|
upstreamStateHash: string;
|
|
@@ -389,6 +435,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
389
435
|
scope: string;
|
|
390
436
|
state?: string;
|
|
391
437
|
status: "claimed";
|
|
438
|
+
txnCookieHash?: string;
|
|
392
439
|
} | {
|
|
393
440
|
appId: string;
|
|
394
441
|
clientId: string;
|
|
@@ -399,6 +446,8 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
399
446
|
emailAttempts: number;
|
|
400
447
|
emailCodeExpiresAt: number;
|
|
401
448
|
emailCodeHash: string;
|
|
449
|
+
emailLastSentAt: number;
|
|
450
|
+
emailSends: number;
|
|
402
451
|
expiresAt: number;
|
|
403
452
|
freshLogin: boolean;
|
|
404
453
|
nonce?: string;
|
|
@@ -407,6 +456,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
407
456
|
scope: string;
|
|
408
457
|
state?: string;
|
|
409
458
|
status: "emailSent";
|
|
459
|
+
txnCookieHash?: string;
|
|
410
460
|
} | {
|
|
411
461
|
appId: string;
|
|
412
462
|
authTime: number;
|
|
@@ -429,6 +479,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
429
479
|
scope: string;
|
|
430
480
|
state?: string;
|
|
431
481
|
status: "completed";
|
|
482
|
+
txnCookieHash?: string;
|
|
432
483
|
}, [import("convex/values").VObject<{
|
|
433
484
|
appId: string;
|
|
434
485
|
clientId: string;
|
|
@@ -442,6 +493,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
442
493
|
scope: string;
|
|
443
494
|
state?: string;
|
|
444
495
|
status: "pending";
|
|
496
|
+
txnCookieHash?: string;
|
|
445
497
|
}, {
|
|
446
498
|
requestId: import("convex/values").VString<string, "required">;
|
|
447
499
|
appId: import("convex/values").VString<string, "required">;
|
|
@@ -453,10 +505,15 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
453
505
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
454
506
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
455
507
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
508
|
+
/**
|
|
509
|
+
* SHA-256 hex of the `broker_txn` cookie set with the chooser page: `/continue` needs the cookie,
|
|
510
|
+
* so only the browser that saw the chooser can continue. Absent when /authorize skipped the chooser.
|
|
511
|
+
*/
|
|
512
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
456
513
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
457
514
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
458
515
|
status: import("convex/values").VLiteral<"pending", "required">;
|
|
459
|
-
}, "required", "appId" | "clientId" | "codeChallenge" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status">, import("convex/values").VObject<{
|
|
516
|
+
}, "required", "appId" | "clientId" | "codeChallenge" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">, import("convex/values").VObject<{
|
|
460
517
|
appId: string;
|
|
461
518
|
clientId: string;
|
|
462
519
|
codeChallenge: string;
|
|
@@ -470,6 +527,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
470
527
|
scope: string;
|
|
471
528
|
state?: string;
|
|
472
529
|
status: "upstream";
|
|
530
|
+
txnCookieHash?: string;
|
|
473
531
|
upstreamCodeVerifier: string;
|
|
474
532
|
upstreamNonce?: string;
|
|
475
533
|
upstreamStateHash: string;
|
|
@@ -484,6 +542,11 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
484
542
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
485
543
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
486
544
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
545
|
+
/**
|
|
546
|
+
* SHA-256 hex of the `broker_txn` cookie set with the chooser page: `/continue` needs the cookie,
|
|
547
|
+
* so only the browser that saw the chooser can continue. Absent when /authorize skipped the chooser.
|
|
548
|
+
*/
|
|
549
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
487
550
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
488
551
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
489
552
|
status: import("convex/values").VLiteral<"upstream", "required">;
|
|
@@ -491,7 +554,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
491
554
|
upstreamStateHash: import("convex/values").VString<string, "required">;
|
|
492
555
|
upstreamCodeVerifier: import("convex/values").VString<string, "required">;
|
|
493
556
|
upstreamNonce: import("convex/values").VString<string | undefined, "optional">;
|
|
494
|
-
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "upstreamCodeVerifier" | "upstreamNonce" | "upstreamStateHash">, import("convex/values").VObject<{
|
|
557
|
+
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash" | "upstreamCodeVerifier" | "upstreamNonce" | "upstreamStateHash">, import("convex/values").VObject<{
|
|
495
558
|
appId: string;
|
|
496
559
|
clientId: string;
|
|
497
560
|
codeChallenge: string;
|
|
@@ -505,6 +568,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
505
568
|
scope: string;
|
|
506
569
|
state?: string;
|
|
507
570
|
status: "claimed";
|
|
571
|
+
txnCookieHash?: string;
|
|
508
572
|
}, {
|
|
509
573
|
requestId: import("convex/values").VString<string, "required">;
|
|
510
574
|
appId: import("convex/values").VString<string, "required">;
|
|
@@ -516,11 +580,16 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
516
580
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
517
581
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
518
582
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
583
|
+
/**
|
|
584
|
+
* SHA-256 hex of the `broker_txn` cookie set with the chooser page: `/continue` needs the cookie,
|
|
585
|
+
* so only the browser that saw the chooser can continue. Absent when /authorize skipped the chooser.
|
|
586
|
+
*/
|
|
587
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
519
588
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
520
589
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
521
590
|
status: import("convex/values").VLiteral<"claimed", "required">;
|
|
522
591
|
connector: import("convex/values").VString<string, "required">;
|
|
523
|
-
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status">, import("convex/values").VObject<{
|
|
592
|
+
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">, import("convex/values").VObject<{
|
|
524
593
|
appId: string;
|
|
525
594
|
clientId: string;
|
|
526
595
|
codeChallenge: string;
|
|
@@ -530,6 +599,8 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
530
599
|
emailAttempts: number;
|
|
531
600
|
emailCodeExpiresAt: number;
|
|
532
601
|
emailCodeHash: string;
|
|
602
|
+
emailLastSentAt: number;
|
|
603
|
+
emailSends: number;
|
|
533
604
|
expiresAt: number;
|
|
534
605
|
freshLogin: boolean;
|
|
535
606
|
nonce?: string;
|
|
@@ -538,6 +609,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
538
609
|
scope: string;
|
|
539
610
|
state?: string;
|
|
540
611
|
status: "emailSent";
|
|
612
|
+
txnCookieHash?: string;
|
|
541
613
|
}, {
|
|
542
614
|
requestId: import("convex/values").VString<string, "required">;
|
|
543
615
|
appId: import("convex/values").VString<string, "required">;
|
|
@@ -549,6 +621,11 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
549
621
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
550
622
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
551
623
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
624
|
+
/**
|
|
625
|
+
* SHA-256 hex of the `broker_txn` cookie set with the chooser page: `/continue` needs the cookie,
|
|
626
|
+
* so only the browser that saw the chooser can continue. Absent when /authorize skipped the chooser.
|
|
627
|
+
*/
|
|
628
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
552
629
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
553
630
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
554
631
|
status: import("convex/values").VLiteral<"emailSent", "required">;
|
|
@@ -556,8 +633,12 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
556
633
|
email: import("convex/values").VString<string, "required">;
|
|
557
634
|
emailCodeHash: import("convex/values").VString<string, "required">;
|
|
558
635
|
emailCodeExpiresAt: import("convex/values").VFloat64<number, "required">;
|
|
636
|
+
/** Wrong codes typed, across every code sent for this request. */
|
|
559
637
|
emailAttempts: import("convex/values").VFloat64<number, "required">;
|
|
560
|
-
|
|
638
|
+
/** Codes sent for this request. */
|
|
639
|
+
emailSends: import("convex/values").VFloat64<number, "required">;
|
|
640
|
+
emailLastSentAt: import("convex/values").VFloat64<number, "required">;
|
|
641
|
+
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "email" | "emailAttempts" | "emailCodeExpiresAt" | "emailCodeHash" | "emailLastSentAt" | "emailSends" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">, import("convex/values").VObject<{
|
|
561
642
|
appId: string;
|
|
562
643
|
authTime: number;
|
|
563
644
|
clientId: string;
|
|
@@ -579,6 +660,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
579
660
|
scope: string;
|
|
580
661
|
state?: string;
|
|
581
662
|
status: "completed";
|
|
663
|
+
txnCookieHash?: string;
|
|
582
664
|
}, {
|
|
583
665
|
requestId: import("convex/values").VString<string, "required">;
|
|
584
666
|
appId: import("convex/values").VString<string, "required">;
|
|
@@ -590,6 +672,11 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
590
672
|
codeChallenge: import("convex/values").VString<string, "required">;
|
|
591
673
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
592
674
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
675
|
+
/**
|
|
676
|
+
* SHA-256 hex of the `broker_txn` cookie set with the chooser page: `/continue` needs the cookie,
|
|
677
|
+
* so only the browser that saw the chooser can continue. Absent when /authorize skipped the chooser.
|
|
678
|
+
*/
|
|
679
|
+
txnCookieHash: import("convex/values").VString<string | undefined, "optional">;
|
|
593
680
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
594
681
|
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
595
682
|
status: import("convex/values").VLiteral<"completed", "required">;
|
|
@@ -609,7 +696,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
609
696
|
picture: import("convex/values").VString<string | undefined, "optional">;
|
|
610
697
|
}, "required", "connector" | "email" | "emailVerified" | "name" | "picture" | "upstreamId">;
|
|
611
698
|
authTime: import("convex/values").VFloat64<number, "required">;
|
|
612
|
-
}, "required", "appId" | "authTime" | "clientId" | "codeChallenge" | "createdAt" | "expiresAt" | "freshLogin" | "identity" | "identity.connector" | "identity.email" | "identity.emailVerified" | "identity.name" | "identity.picture" | "identity.upstreamId" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status">], "required", "appId" | "authTime" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "email" | "emailAttempts" | "emailCodeExpiresAt" | "emailCodeHash" | "expiresAt" | "freshLogin" | "identity" | "identity.connector" | "identity.email" | "identity.emailVerified" | "identity.name" | "identity.picture" | "identity.upstreamId" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "upstreamCodeVerifier" | "upstreamNonce" | "upstreamStateHash">, {
|
|
699
|
+
}, "required", "appId" | "authTime" | "clientId" | "codeChallenge" | "createdAt" | "expiresAt" | "freshLogin" | "identity" | "identity.connector" | "identity.email" | "identity.emailVerified" | "identity.name" | "identity.picture" | "identity.upstreamId" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">], "required", "appId" | "authTime" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "email" | "emailAttempts" | "emailCodeExpiresAt" | "emailCodeHash" | "emailLastSentAt" | "emailSends" | "expiresAt" | "freshLogin" | "identity" | "identity.connector" | "identity.email" | "identity.emailVerified" | "identity.name" | "identity.picture" | "identity.upstreamId" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash" | "upstreamCodeVerifier" | "upstreamNonce" | "upstreamStateHash">, {
|
|
613
700
|
by_expires_at: ["expiresAt", "_creationTime"];
|
|
614
701
|
by_request_id: ["requestId", "_creationTime"];
|
|
615
702
|
by_upstream_state_hash: ["upstreamStateHash", "_creationTime"];
|
|
@@ -630,6 +717,18 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
630
717
|
by_code_hash: ["codeHash", "_creationTime"];
|
|
631
718
|
by_expires_at: ["expiresAt", "_creationTime"];
|
|
632
719
|
}, {}, {}>;
|
|
720
|
+
/** One row per email code sent, kept for the rolling send window; no address, only its hash. */
|
|
721
|
+
emailSends: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
722
|
+
at: number;
|
|
723
|
+
emailHash: string;
|
|
724
|
+
}, {
|
|
725
|
+
/** SHA-256 hex of the canonical address. */
|
|
726
|
+
emailHash: import("convex/values").VString<string, "required">;
|
|
727
|
+
at: import("convex/values").VFloat64<number, "required">;
|
|
728
|
+
}, "required", "at" | "emailHash">, {
|
|
729
|
+
by_at: ["at", "_creationTime"];
|
|
730
|
+
by_email_hash_and_at: ["emailHash", "at", "_creationTime"];
|
|
731
|
+
}, {}, {}>;
|
|
633
732
|
signIns: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
634
733
|
appId: string;
|
|
635
734
|
at: number;
|
package/dist/component/schema.js
CHANGED
|
@@ -30,6 +30,11 @@ const authRequestFields = {
|
|
|
30
30
|
codeChallenge: string(),
|
|
31
31
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
32
32
|
freshLogin: boolean(),
|
|
33
|
+
/**
|
|
34
|
+
* SHA-256 hex of the `broker_txn` cookie set with the chooser page: `/continue` needs the cookie,
|
|
35
|
+
* so only the browser that saw the chooser can continue. Absent when /authorize skipped the chooser.
|
|
36
|
+
*/
|
|
37
|
+
txnCookieHash: optional(string()),
|
|
33
38
|
createdAt: number(),
|
|
34
39
|
expiresAt: number(),
|
|
35
40
|
};
|
|
@@ -47,7 +52,7 @@ object({
|
|
|
47
52
|
}),
|
|
48
53
|
// The connector callback arrived and the code exchange is running; a replay finds this and stops.
|
|
49
54
|
object({ status: literal("claimed"), ...authRequestFields, connector: string() }),
|
|
50
|
-
// An email code was sent; the user types it.
|
|
55
|
+
// An email code was sent; the user types it. A resend replaces the code and keeps the counts.
|
|
51
56
|
object({
|
|
52
57
|
status: literal("emailSent"),
|
|
53
58
|
...authRequestFields,
|
|
@@ -55,7 +60,11 @@ object({
|
|
|
55
60
|
email: string(),
|
|
56
61
|
emailCodeHash: string(),
|
|
57
62
|
emailCodeExpiresAt: number(),
|
|
63
|
+
/** Wrong codes typed, across every code sent for this request. */
|
|
58
64
|
emailAttempts: number(),
|
|
65
|
+
/** Codes sent for this request. */
|
|
66
|
+
emailSends: number(),
|
|
67
|
+
emailLastSentAt: number(),
|
|
59
68
|
}),
|
|
60
69
|
// The connector attested the identity; the authorization code points here until it is exchanged.
|
|
61
70
|
object({
|
|
@@ -80,7 +89,8 @@ export default defineSchema({
|
|
|
80
89
|
createdAt: number(),
|
|
81
90
|
})
|
|
82
91
|
.index("by_token_hash", ["tokenHash"])
|
|
83
|
-
.index("by_app_id", ["appId"])
|
|
92
|
+
.index("by_app_id", ["appId"])
|
|
93
|
+
.index("by_expires_at", ["expiresAt"]),
|
|
84
94
|
clients: defineTable({
|
|
85
95
|
clientId: string(),
|
|
86
96
|
appId: string(),
|
|
@@ -109,6 +119,14 @@ export default defineSchema({
|
|
|
109
119
|
})
|
|
110
120
|
.index("by_code_hash", ["codeHash"])
|
|
111
121
|
.index("by_expires_at", ["expiresAt"]),
|
|
122
|
+
/** One row per email code sent, kept for the rolling send window; no address, only its hash. */
|
|
123
|
+
emailSends: defineTable({
|
|
124
|
+
/** SHA-256 hex of the canonical address. */
|
|
125
|
+
emailHash: string(),
|
|
126
|
+
at: number(),
|
|
127
|
+
})
|
|
128
|
+
.index("by_email_hash_and_at", ["emailHash", "at"])
|
|
129
|
+
.index("by_at", ["at"]),
|
|
112
130
|
signIns: defineTable({
|
|
113
131
|
appId: string(),
|
|
114
132
|
clientId: string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAE/E,8FAA8F;AAC9F,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAC3C,OAAO,CAAC,oBAAoB,CAAC,EAC7B,OAAO,CAAC,qBAAqB,CAAC,CAC/B,CAAC;AAEF,sGAAsG;AACtG,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAClC,OAAO,CAAC,YAAY,CAAC,EACrB,OAAO,CAAC,aAAa,CAAC,EACtB,OAAO,CAAC,SAAS,CAAC,CACnB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;IACtC,SAAS,EAAE,MAAM,EAAE;IACnB,UAAU,EAAE,MAAM,EAAE;IACpB,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IAClC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;CAC5B,CAAC,CAAC;AAEH,4FAA4F;AAC5F,MAAM,iBAAiB,GAAG;IACxB,SAAS,EAAE,MAAM,EAAE;IACnB,KAAK,EAAE,MAAM,EAAE;IACf,QAAQ,EAAE,MAAM,EAAE;IAClB,WAAW,EAAE,MAAM,EAAE;IACrB,KAAK,EAAE,MAAM,EAAE;IACf,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzB,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE;IACvB,yFAAyF;IACzF,UAAU,EAAE,OAAO,EAAE;IACrB,SAAS,EAAE,MAAM,EAAE;IACnB,SAAS,EAAE,MAAM,EAAE;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK;AAC/B,iEAAiE;AACjE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,iBAAiB,EAAE,CAAC;AAC5D,+FAA+F;AAC/F,MAAM,CAAC;IACL,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;IAC3B,GAAG,iBAAiB;IACpB,SAAS,EAAE,MAAM,EAAE;IACnB,iBAAiB,EAAE,MAAM,EAAE;IAC3B,oBAAoB,EAAE,MAAM,EAAE;IAC9B,aAAa,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;CAClC,CAAC;AACF,kGAAkG;AAClG,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AACjF,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED