@samebase/identity-broker 0.9.3 → 0.10.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 +10 -12
- package/dist/client/connectors/types.d.ts +1 -14
- package/dist/client/html.d.ts +0 -15
- package/dist/client/html.js +1 -24
- package/dist/client/html.js.map +1 -1
- package/dist/client/index.d.ts +1 -3
- package/dist/client/index.js +10 -199
- package/dist/client/index.js.map +1 -1
- package/dist/client/protocol.d.ts +0 -2
- package/dist/client/protocol.js +0 -9
- package/dist/client/protocol.js.map +1 -1
- package/dist/client/subject.d.ts +0 -2
- package/dist/client/subject.js +0 -6
- package/dist/client/subject.js.map +1 -1
- package/dist/component/_generated/component.d.ts +0 -64
- package/dist/component/authRequests.d.ts +0 -77
- package/dist/component/authRequests.js +0 -156
- package/dist/component/authRequests.js.map +1 -1
- package/dist/component/lifecycle.d.ts +4 -5
- package/dist/component/lifecycle.js +4 -14
- package/dist/component/lifecycle.js.map +1 -1
- package/dist/component/schema.d.ts +20 -182
- package/dist/component/schema.js +4 -27
- package/dist/component/schema.js.map +1 -1
- package/package.json +1 -1
- package/dist/client/connectors/email.d.ts +0 -6
- package/dist/client/connectors/email.js +0 -5
- package/dist/client/connectors/email.js.map +0 -1
|
@@ -4,8 +4,8 @@ export declare const vTokenEndpointAuthMethod: import("convex/values").VUnion<"c
|
|
|
4
4
|
export declare const vDeploymentType: import("convex/values").VUnion<"development" | "preview" | "production", [import("convex/values").VLiteral<"production", "required">, import("convex/values").VLiteral<"development", "required">, import("convex/values").VLiteral<"preview", "required">], "required", never>;
|
|
5
5
|
/**
|
|
6
6
|
* What a connector attested about the user. `upstreamId` is the connector's own stable id for the
|
|
7
|
-
* account (the GitHub user id, the OIDC `sub
|
|
8
|
-
*
|
|
7
|
+
* account (the GitHub user id, the OIDC `sub`). The pairwise subject is derived from it on the host,
|
|
8
|
+
* where the salt lives.
|
|
9
9
|
*/
|
|
10
10
|
export declare const vUpstreamIdentity: import("convex/values").VObject<{
|
|
11
11
|
connector: string;
|
|
@@ -69,27 +69,6 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
69
69
|
state?: string;
|
|
70
70
|
status: "claimed";
|
|
71
71
|
txnCookieHash: string;
|
|
72
|
-
} | {
|
|
73
|
-
appId: string;
|
|
74
|
-
clientId: string;
|
|
75
|
-
codeChallenge: string;
|
|
76
|
-
connector: string;
|
|
77
|
-
createdAt: number;
|
|
78
|
-
email: string;
|
|
79
|
-
emailAttempts: number;
|
|
80
|
-
emailCodeExpiresAt: number;
|
|
81
|
-
emailCodeHash: string;
|
|
82
|
-
emailLastSentAt: number;
|
|
83
|
-
emailSends: number;
|
|
84
|
-
expiresAt: number;
|
|
85
|
-
freshLogin: boolean;
|
|
86
|
-
nonce?: string;
|
|
87
|
-
redirectUri: string;
|
|
88
|
-
requestId: string;
|
|
89
|
-
scope: string;
|
|
90
|
-
state?: string;
|
|
91
|
-
status: "emailSent";
|
|
92
|
-
txnCookieHash: string;
|
|
93
72
|
} | {
|
|
94
73
|
appId: string;
|
|
95
74
|
authTime: number;
|
|
@@ -139,9 +118,8 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
139
118
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
140
119
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
141
120
|
/**
|
|
142
|
-
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue
|
|
143
|
-
* callback
|
|
144
|
-
* move it on.
|
|
121
|
+
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue` and the
|
|
122
|
+
* connector callback need the cookie, so only the browser that started the request can move it on.
|
|
145
123
|
*/
|
|
146
124
|
txnCookieHash: import("convex/values").VString<string, "required">;
|
|
147
125
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
@@ -177,9 +155,8 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
177
155
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
178
156
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
179
157
|
/**
|
|
180
|
-
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue
|
|
181
|
-
* callback
|
|
182
|
-
* move it on.
|
|
158
|
+
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue` and the
|
|
159
|
+
* connector callback need the cookie, so only the browser that started the request can move it on.
|
|
183
160
|
*/
|
|
184
161
|
txnCookieHash: import("convex/values").VString<string, "required">;
|
|
185
162
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
@@ -216,9 +193,8 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
216
193
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
217
194
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
218
195
|
/**
|
|
219
|
-
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue
|
|
220
|
-
* callback
|
|
221
|
-
* move it on.
|
|
196
|
+
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue` and the
|
|
197
|
+
* connector callback need the cookie, so only the browser that started the request can move it on.
|
|
222
198
|
*/
|
|
223
199
|
txnCookieHash: import("convex/values").VString<string, "required">;
|
|
224
200
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
@@ -226,56 +202,6 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
226
202
|
status: import("convex/values").VLiteral<"claimed", "required">;
|
|
227
203
|
connector: import("convex/values").VString<string, "required">;
|
|
228
204
|
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">, import("convex/values").VObject<{
|
|
229
|
-
appId: string;
|
|
230
|
-
clientId: string;
|
|
231
|
-
codeChallenge: string;
|
|
232
|
-
connector: string;
|
|
233
|
-
createdAt: number;
|
|
234
|
-
email: string;
|
|
235
|
-
emailAttempts: number;
|
|
236
|
-
emailCodeExpiresAt: number;
|
|
237
|
-
emailCodeHash: string;
|
|
238
|
-
emailLastSentAt: number;
|
|
239
|
-
emailSends: number;
|
|
240
|
-
expiresAt: number;
|
|
241
|
-
freshLogin: boolean;
|
|
242
|
-
nonce?: string;
|
|
243
|
-
redirectUri: string;
|
|
244
|
-
requestId: string;
|
|
245
|
-
scope: string;
|
|
246
|
-
state?: string;
|
|
247
|
-
status: "emailSent";
|
|
248
|
-
txnCookieHash: string;
|
|
249
|
-
}, {
|
|
250
|
-
requestId: import("convex/values").VString<string, "required">;
|
|
251
|
-
appId: import("convex/values").VString<string, "required">;
|
|
252
|
-
clientId: import("convex/values").VString<string, "required">;
|
|
253
|
-
redirectUri: import("convex/values").VString<string, "required">;
|
|
254
|
-
scope: import("convex/values").VString<string, "required">;
|
|
255
|
-
state: import("convex/values").VString<string | undefined, "optional">;
|
|
256
|
-
nonce: import("convex/values").VString<string | undefined, "optional">;
|
|
257
|
-
codeChallenge: import("convex/values").VString<string, "required">;
|
|
258
|
-
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
259
|
-
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
260
|
-
/**
|
|
261
|
-
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue`, the connector
|
|
262
|
-
* callback, and the email steps need the cookie, so only the browser that started the request can
|
|
263
|
-
* move it on.
|
|
264
|
-
*/
|
|
265
|
-
txnCookieHash: import("convex/values").VString<string, "required">;
|
|
266
|
-
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
267
|
-
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
268
|
-
status: import("convex/values").VLiteral<"emailSent", "required">;
|
|
269
|
-
connector: import("convex/values").VString<string, "required">;
|
|
270
|
-
email: import("convex/values").VString<string, "required">;
|
|
271
|
-
emailCodeHash: import("convex/values").VString<string, "required">;
|
|
272
|
-
emailCodeExpiresAt: import("convex/values").VFloat64<number, "required">;
|
|
273
|
-
/** Wrong codes typed, across every code sent for this request. */
|
|
274
|
-
emailAttempts: import("convex/values").VFloat64<number, "required">;
|
|
275
|
-
/** Codes sent for this request. */
|
|
276
|
-
emailSends: import("convex/values").VFloat64<number, "required">;
|
|
277
|
-
emailLastSentAt: import("convex/values").VFloat64<number, "required">;
|
|
278
|
-
}, "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<{
|
|
279
205
|
appId: string;
|
|
280
206
|
authTime: number;
|
|
281
207
|
clientId: string;
|
|
@@ -310,9 +236,8 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
310
236
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
311
237
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
312
238
|
/**
|
|
313
|
-
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue
|
|
314
|
-
* callback
|
|
315
|
-
* move it on.
|
|
239
|
+
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue` and the
|
|
240
|
+
* connector callback need the cookie, so only the browser that started the request can move it on.
|
|
316
241
|
*/
|
|
317
242
|
txnCookieHash: import("convex/values").VString<string, "required">;
|
|
318
243
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
@@ -334,7 +259,7 @@ export declare const vAuthRequest: import("convex/values").VUnion<{
|
|
|
334
259
|
picture: import("convex/values").VString<string | undefined, "optional">;
|
|
335
260
|
}, "required", "connector" | "email" | "emailVerified" | "name" | "picture" | "upstreamId">;
|
|
336
261
|
authTime: import("convex/values").VFloat64<number, "required">;
|
|
337
|
-
}, "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" | "
|
|
262
|
+
}, "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" | "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">;
|
|
338
263
|
declare const _default: import("convex/server").SchemaDefinition<{
|
|
339
264
|
apps: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
340
265
|
allowedCallbackHosts?: string[];
|
|
@@ -426,27 +351,6 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
426
351
|
state?: string;
|
|
427
352
|
status: "claimed";
|
|
428
353
|
txnCookieHash: string;
|
|
429
|
-
} | {
|
|
430
|
-
appId: string;
|
|
431
|
-
clientId: string;
|
|
432
|
-
codeChallenge: string;
|
|
433
|
-
connector: string;
|
|
434
|
-
createdAt: number;
|
|
435
|
-
email: string;
|
|
436
|
-
emailAttempts: number;
|
|
437
|
-
emailCodeExpiresAt: number;
|
|
438
|
-
emailCodeHash: string;
|
|
439
|
-
emailLastSentAt: number;
|
|
440
|
-
emailSends: number;
|
|
441
|
-
expiresAt: number;
|
|
442
|
-
freshLogin: boolean;
|
|
443
|
-
nonce?: string;
|
|
444
|
-
redirectUri: string;
|
|
445
|
-
requestId: string;
|
|
446
|
-
scope: string;
|
|
447
|
-
state?: string;
|
|
448
|
-
status: "emailSent";
|
|
449
|
-
txnCookieHash: string;
|
|
450
354
|
} | {
|
|
451
355
|
appId: string;
|
|
452
356
|
authTime: number;
|
|
@@ -496,9 +400,8 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
496
400
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
497
401
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
498
402
|
/**
|
|
499
|
-
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue
|
|
500
|
-
* callback
|
|
501
|
-
* move it on.
|
|
403
|
+
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue` and the
|
|
404
|
+
* connector callback need the cookie, so only the browser that started the request can move it on.
|
|
502
405
|
*/
|
|
503
406
|
txnCookieHash: import("convex/values").VString<string, "required">;
|
|
504
407
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
@@ -534,9 +437,8 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
534
437
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
535
438
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
536
439
|
/**
|
|
537
|
-
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue
|
|
538
|
-
* callback
|
|
539
|
-
* move it on.
|
|
440
|
+
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue` and the
|
|
441
|
+
* connector callback need the cookie, so only the browser that started the request can move it on.
|
|
540
442
|
*/
|
|
541
443
|
txnCookieHash: import("convex/values").VString<string, "required">;
|
|
542
444
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
@@ -573,9 +475,8 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
573
475
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
574
476
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
575
477
|
/**
|
|
576
|
-
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue
|
|
577
|
-
* callback
|
|
578
|
-
* move it on.
|
|
478
|
+
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue` and the
|
|
479
|
+
* connector callback need the cookie, so only the browser that started the request can move it on.
|
|
579
480
|
*/
|
|
580
481
|
txnCookieHash: import("convex/values").VString<string, "required">;
|
|
581
482
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
@@ -583,56 +484,6 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
583
484
|
status: import("convex/values").VLiteral<"claimed", "required">;
|
|
584
485
|
connector: import("convex/values").VString<string, "required">;
|
|
585
486
|
}, "required", "appId" | "clientId" | "codeChallenge" | "connector" | "createdAt" | "expiresAt" | "freshLogin" | "nonce" | "redirectUri" | "requestId" | "scope" | "state" | "status" | "txnCookieHash">, import("convex/values").VObject<{
|
|
586
|
-
appId: string;
|
|
587
|
-
clientId: string;
|
|
588
|
-
codeChallenge: string;
|
|
589
|
-
connector: string;
|
|
590
|
-
createdAt: number;
|
|
591
|
-
email: string;
|
|
592
|
-
emailAttempts: number;
|
|
593
|
-
emailCodeExpiresAt: number;
|
|
594
|
-
emailCodeHash: string;
|
|
595
|
-
emailLastSentAt: number;
|
|
596
|
-
emailSends: number;
|
|
597
|
-
expiresAt: number;
|
|
598
|
-
freshLogin: boolean;
|
|
599
|
-
nonce?: string;
|
|
600
|
-
redirectUri: string;
|
|
601
|
-
requestId: string;
|
|
602
|
-
scope: string;
|
|
603
|
-
state?: string;
|
|
604
|
-
status: "emailSent";
|
|
605
|
-
txnCookieHash: string;
|
|
606
|
-
}, {
|
|
607
|
-
requestId: import("convex/values").VString<string, "required">;
|
|
608
|
-
appId: import("convex/values").VString<string, "required">;
|
|
609
|
-
clientId: import("convex/values").VString<string, "required">;
|
|
610
|
-
redirectUri: import("convex/values").VString<string, "required">;
|
|
611
|
-
scope: import("convex/values").VString<string, "required">;
|
|
612
|
-
state: import("convex/values").VString<string | undefined, "optional">;
|
|
613
|
-
nonce: import("convex/values").VString<string | undefined, "optional">;
|
|
614
|
-
codeChallenge: import("convex/values").VString<string, "required">;
|
|
615
|
-
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
616
|
-
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
617
|
-
/**
|
|
618
|
-
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue`, the connector
|
|
619
|
-
* callback, and the email steps need the cookie, so only the browser that started the request can
|
|
620
|
-
* move it on.
|
|
621
|
-
*/
|
|
622
|
-
txnCookieHash: import("convex/values").VString<string, "required">;
|
|
623
|
-
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
624
|
-
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
625
|
-
status: import("convex/values").VLiteral<"emailSent", "required">;
|
|
626
|
-
connector: import("convex/values").VString<string, "required">;
|
|
627
|
-
email: import("convex/values").VString<string, "required">;
|
|
628
|
-
emailCodeHash: import("convex/values").VString<string, "required">;
|
|
629
|
-
emailCodeExpiresAt: import("convex/values").VFloat64<number, "required">;
|
|
630
|
-
/** Wrong codes typed, across every code sent for this request. */
|
|
631
|
-
emailAttempts: import("convex/values").VFloat64<number, "required">;
|
|
632
|
-
/** Codes sent for this request. */
|
|
633
|
-
emailSends: import("convex/values").VFloat64<number, "required">;
|
|
634
|
-
emailLastSentAt: import("convex/values").VFloat64<number, "required">;
|
|
635
|
-
}, "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<{
|
|
636
487
|
appId: string;
|
|
637
488
|
authTime: number;
|
|
638
489
|
clientId: string;
|
|
@@ -667,9 +518,8 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
667
518
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
668
519
|
freshLogin: import("convex/values").VBoolean<boolean, "required">;
|
|
669
520
|
/**
|
|
670
|
-
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue
|
|
671
|
-
* callback
|
|
672
|
-
* move it on.
|
|
521
|
+
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue` and the
|
|
522
|
+
* connector callback need the cookie, so only the browser that started the request can move it on.
|
|
673
523
|
*/
|
|
674
524
|
txnCookieHash: import("convex/values").VString<string, "required">;
|
|
675
525
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
@@ -691,7 +541,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
691
541
|
picture: import("convex/values").VString<string | undefined, "optional">;
|
|
692
542
|
}, "required", "connector" | "email" | "emailVerified" | "name" | "picture" | "upstreamId">;
|
|
693
543
|
authTime: import("convex/values").VFloat64<number, "required">;
|
|
694
|
-
}, "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" | "
|
|
544
|
+
}, "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" | "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">, {
|
|
695
545
|
by_expires_at: ["expiresAt", "_creationTime"];
|
|
696
546
|
by_request_id: ["requestId", "_creationTime"];
|
|
697
547
|
by_upstream_state_hash: ["upstreamStateHash", "_creationTime"];
|
|
@@ -712,18 +562,6 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
712
562
|
by_code_hash: ["codeHash", "_creationTime"];
|
|
713
563
|
by_expires_at: ["expiresAt", "_creationTime"];
|
|
714
564
|
}, {}, {}>;
|
|
715
|
-
/** One row per email code sent, kept for the rolling send window; no address, only its hash. */
|
|
716
|
-
emailSends: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
717
|
-
at: number;
|
|
718
|
-
emailHash: string;
|
|
719
|
-
}, {
|
|
720
|
-
/** SHA-256 hex of the canonical address. */
|
|
721
|
-
emailHash: import("convex/values").VString<string, "required">;
|
|
722
|
-
at: import("convex/values").VFloat64<number, "required">;
|
|
723
|
-
}, "required", "at" | "emailHash">, {
|
|
724
|
-
by_at: ["at", "_creationTime"];
|
|
725
|
-
by_email_hash_and_at: ["emailHash", "at", "_creationTime"];
|
|
726
|
-
}, {}, {}>;
|
|
727
565
|
signIns: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
728
566
|
appId: string;
|
|
729
567
|
at: number;
|
package/dist/component/schema.js
CHANGED
|
@@ -7,8 +7,8 @@ export const vTokenEndpointAuthMethod = union(literal("client_secret_post"), lit
|
|
|
7
7
|
export const vDeploymentType = union(literal("production"), literal("development"), literal("preview"));
|
|
8
8
|
/**
|
|
9
9
|
* What a connector attested about the user. `upstreamId` is the connector's own stable id for the
|
|
10
|
-
* account (the GitHub user id, the OIDC `sub
|
|
11
|
-
*
|
|
10
|
+
* account (the GitHub user id, the OIDC `sub`). The pairwise subject is derived from it on the host,
|
|
11
|
+
* where the salt lives.
|
|
12
12
|
*/
|
|
13
13
|
export const vUpstreamIdentity = object({
|
|
14
14
|
connector: string(),
|
|
@@ -31,9 +31,8 @@ const authRequestFields = {
|
|
|
31
31
|
/** `prompt=login` or `max_age` was sent: the connector must reauthenticate or refuse. */
|
|
32
32
|
freshLogin: boolean(),
|
|
33
33
|
/**
|
|
34
|
-
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue
|
|
35
|
-
* callback
|
|
36
|
-
* move it on.
|
|
34
|
+
* SHA-256 hex of the request's transaction cookie, set by `/authorize`. `/continue` and the
|
|
35
|
+
* connector callback need the cookie, so only the browser that started the request can move it on.
|
|
37
36
|
*/
|
|
38
37
|
txnCookieHash: string(),
|
|
39
38
|
createdAt: number(),
|
|
@@ -53,20 +52,6 @@ object({
|
|
|
53
52
|
}),
|
|
54
53
|
// The connector callback arrived and the code exchange is running; a replay finds this and stops.
|
|
55
54
|
object({ status: literal("claimed"), ...authRequestFields, connector: string() }),
|
|
56
|
-
// An email code was sent; the user types it. A resend replaces the code and keeps the counts.
|
|
57
|
-
object({
|
|
58
|
-
status: literal("emailSent"),
|
|
59
|
-
...authRequestFields,
|
|
60
|
-
connector: string(),
|
|
61
|
-
email: string(),
|
|
62
|
-
emailCodeHash: string(),
|
|
63
|
-
emailCodeExpiresAt: number(),
|
|
64
|
-
/** Wrong codes typed, across every code sent for this request. */
|
|
65
|
-
emailAttempts: number(),
|
|
66
|
-
/** Codes sent for this request. */
|
|
67
|
-
emailSends: number(),
|
|
68
|
-
emailLastSentAt: number(),
|
|
69
|
-
}),
|
|
70
55
|
// The connector attested the identity; the authorization code points here until it is exchanged.
|
|
71
56
|
object({
|
|
72
57
|
status: literal("completed"),
|
|
@@ -111,14 +96,6 @@ export default defineSchema({
|
|
|
111
96
|
})
|
|
112
97
|
.index("by_code_hash", ["codeHash"])
|
|
113
98
|
.index("by_expires_at", ["expiresAt"]),
|
|
114
|
-
/** One row per email code sent, kept for the rolling send window; no address, only its hash. */
|
|
115
|
-
emailSends: defineTable({
|
|
116
|
-
/** SHA-256 hex of the canonical address. */
|
|
117
|
-
emailHash: string(),
|
|
118
|
-
at: number(),
|
|
119
|
-
})
|
|
120
|
-
.index("by_email_hash_and_at", ["emailHash", "at"])
|
|
121
|
-
.index("by_at", ["at"]),
|
|
122
99
|
signIns: defineTable({
|
|
123
100
|
appId: string(),
|
|
124
101
|
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,0CAA0C;AAC1C,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
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/client/connectors/email.ts"],"names":[],"mappings":"AAEA,yFAAyF;AACzF,MAAM,UAAU,KAAK,CAAC,OAA+C;IACnE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;AAC9F,CAAC"}
|