@samebase/identity-broker 0.1.0 → 0.3.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/connectors/google.d.ts +5 -1
- package/dist/client/connectors/google.js +6 -1
- package/dist/client/connectors/google.js.map +1 -1
- package/dist/client/connectors/types.d.ts +5 -0
- package/dist/client/html.d.ts +5 -1
- package/dist/client/html.js +17 -7
- package/dist/client/html.js.map +1 -1
- package/dist/client/index.d.ts +16 -1
- package/dist/client/index.js +201 -43
- 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 +7 -2
- package/dist/client/protocol.js +39 -11
- package/dist/client/protocol.js.map +1 -1
- package/dist/client/responses.d.ts +7 -1
- package/dist/client/responses.js +8 -3
- package/dist/client/responses.js.map +1 -1
- package/dist/component/_generated/component.d.ts +28 -1
- package/dist/component/authRequests.d.ts +30 -4
- package/dist/component/authRequests.js +92 -11
- package/dist/component/authRequests.js.map +1 -1
- package/dist/component/lifecycle.d.ts +14 -3
- package/dist/component/lifecycle.js +106 -49
- 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 +119 -10
- package/dist/component/schema.js +21 -2
- package/dist/component/schema.js.map +1 -1
- package/package.json +1 -1
|
@@ -47,7 +47,8 @@ export type AuthorizeInput = {
|
|
|
47
47
|
/**
|
|
48
48
|
* The first half of /authorize validation: the parameters that identify the client and where to
|
|
49
49
|
* send errors. Everything else is checked by `validateAuthorizeRest` once the client is known, so
|
|
50
|
-
* those errors can go back to the registered redirect URI.
|
|
50
|
+
* those errors can go back to the registered redirect URI. A repeated parameter of any name is
|
|
51
|
+
* refused first, so an ambiguous `client_id` or `redirect_uri` never picks a redirect target.
|
|
51
52
|
*/
|
|
52
53
|
export declare function validateAuthorizeTarget(params: URLSearchParams): Validation<{
|
|
53
54
|
clientId: string;
|
|
@@ -67,7 +68,11 @@ export type TokenInput = {
|
|
|
67
68
|
method: TokenEndpointAuthMethod;
|
|
68
69
|
};
|
|
69
70
|
};
|
|
70
|
-
/**
|
|
71
|
+
/**
|
|
72
|
+
* Client credentials from HTTP Basic (RFC 6749 section 2.3.1) or the form body. The first look at a
|
|
73
|
+
* token request, so it also refuses a repeated parameter (RFC 6749 section 3.2) and a request that
|
|
74
|
+
* uses both methods (section 2.3).
|
|
75
|
+
*/
|
|
71
76
|
export declare function readClientAuthentication(authorization: string | null, params: URLSearchParams): Validation<TokenInput["client"]>;
|
|
72
77
|
export declare function validateTokenRequest(params: URLSearchParams, client: TokenInput["client"]): Validation<TokenInput>;
|
|
73
78
|
export declare function readBearerToken(authorization: string | null): string | null;
|
package/dist/client/protocol.js
CHANGED
|
@@ -18,6 +18,11 @@ export function asRecord(value) {
|
|
|
18
18
|
function invalid(status, error, description) {
|
|
19
19
|
return { ok: false, status, error, description };
|
|
20
20
|
}
|
|
21
|
+
/** RFC 6749 sections 3.1 and 3.2: a request parameter must not be included more than once. */
|
|
22
|
+
function hasRepeatedParameter(params) {
|
|
23
|
+
const names = [...params.keys()];
|
|
24
|
+
return new Set(names).size !== names.length;
|
|
25
|
+
}
|
|
21
26
|
function isLoopbackHost(hostname) {
|
|
22
27
|
return hostname === "localhost" || hostname === "127.0.0.1" || hostname === "[::1]";
|
|
23
28
|
}
|
|
@@ -96,7 +101,8 @@ export function validateRegistration(payload) {
|
|
|
96
101
|
if (deploymentType === undefined) {
|
|
97
102
|
return invalid(400, "invalid_client_metadata", `deployment_type must be one of ${DEPLOYMENT_TYPES.join(", ")}.`);
|
|
98
103
|
}
|
|
99
|
-
|
|
104
|
+
// RFC 7591 section 2: the default is client_secret_basic.
|
|
105
|
+
const authMethod = TOKEN_ENDPOINT_AUTH_METHODS.find((method) => method === (record["token_endpoint_auth_method"] ?? "client_secret_basic"));
|
|
100
106
|
if (authMethod === undefined) {
|
|
101
107
|
return invalid(400, "invalid_client_metadata", `token_endpoint_auth_method must be one of ${TOKEN_ENDPOINT_AUTH_METHODS.join(", ")}.`);
|
|
102
108
|
}
|
|
@@ -126,9 +132,13 @@ export function validateRegistration(payload) {
|
|
|
126
132
|
/**
|
|
127
133
|
* The first half of /authorize validation: the parameters that identify the client and where to
|
|
128
134
|
* send errors. Everything else is checked by `validateAuthorizeRest` once the client is known, so
|
|
129
|
-
* those errors can go back to the registered redirect URI.
|
|
135
|
+
* those errors can go back to the registered redirect URI. A repeated parameter of any name is
|
|
136
|
+
* refused first, so an ambiguous `client_id` or `redirect_uri` never picks a redirect target.
|
|
130
137
|
*/
|
|
131
138
|
export function validateAuthorizeTarget(params) {
|
|
139
|
+
if (hasRepeatedParameter(params)) {
|
|
140
|
+
return invalid(400, "invalid_request", "A parameter is repeated.");
|
|
141
|
+
}
|
|
132
142
|
const clientId = params.get("client_id")?.trim() ?? "";
|
|
133
143
|
if (clientId.length === 0) {
|
|
134
144
|
return invalid(400, "invalid_request", "client_id is required.");
|
|
@@ -163,6 +173,9 @@ export function validateAuthorizeRest(params, target) {
|
|
|
163
173
|
return invalid(400, "invalid_request", 'code_challenge_method must be "S256".');
|
|
164
174
|
}
|
|
165
175
|
const prompt = (params.get("prompt") ?? "").split(/\s+/).filter((value) => value.length > 0);
|
|
176
|
+
if (prompt.some((value) => value !== "none" && value !== "login")) {
|
|
177
|
+
return invalid(400, "invalid_request", "prompt value not supported");
|
|
178
|
+
}
|
|
166
179
|
if (prompt.includes("none") && prompt.length > 1) {
|
|
167
180
|
return invalid(400, "invalid_request", "prompt=none cannot be combined with other values.");
|
|
168
181
|
}
|
|
@@ -190,9 +203,19 @@ export function validateAuthorizeRest(params, target) {
|
|
|
190
203
|
},
|
|
191
204
|
};
|
|
192
205
|
}
|
|
193
|
-
/**
|
|
206
|
+
/**
|
|
207
|
+
* Client credentials from HTTP Basic (RFC 6749 section 2.3.1) or the form body. The first look at a
|
|
208
|
+
* token request, so it also refuses a repeated parameter (RFC 6749 section 3.2) and a request that
|
|
209
|
+
* uses both methods (section 2.3).
|
|
210
|
+
*/
|
|
194
211
|
export function readClientAuthentication(authorization, params) {
|
|
212
|
+
if (hasRepeatedParameter(params)) {
|
|
213
|
+
return invalid(400, "invalid_request", "A parameter is repeated.");
|
|
214
|
+
}
|
|
195
215
|
if (authorization !== null) {
|
|
216
|
+
if (params.has("client_secret")) {
|
|
217
|
+
return invalid(400, "invalid_request", "Use one client authentication method, not two.");
|
|
218
|
+
}
|
|
196
219
|
const match = authorization.trim().match(/^basic\s+(.+)$/i);
|
|
197
220
|
if (match === null || match[1] === undefined) {
|
|
198
221
|
return invalid(401, "invalid_client", "Only HTTP Basic client authentication is supported.");
|
|
@@ -208,14 +231,19 @@ export function readClientAuthentication(authorization, params) {
|
|
|
208
231
|
if (separator <= 0) {
|
|
209
232
|
return invalid(401, "invalid_client", "The Authorization header must hold client_id:client_secret.");
|
|
210
233
|
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
234
|
+
try {
|
|
235
|
+
return {
|
|
236
|
+
ok: true,
|
|
237
|
+
value: {
|
|
238
|
+
clientId: decodeURIComponent(decoded.slice(0, separator)),
|
|
239
|
+
clientSecret: decodeURIComponent(decoded.slice(separator + 1)),
|
|
240
|
+
method: "client_secret_basic",
|
|
241
|
+
},
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
catch {
|
|
245
|
+
return invalid(401, "invalid_client", "The Authorization header is not valid form encoding.");
|
|
246
|
+
}
|
|
219
247
|
}
|
|
220
248
|
const clientId = params.get("client_id") ?? "";
|
|
221
249
|
const clientSecret = params.get("client_secret") ?? "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/client/protocol.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/client/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Response helpers shared by the endpoints. */
|
|
2
2
|
export declare function json(body: unknown, status?: number, headers?: Record<string, string>): Response;
|
|
3
3
|
/** An OAuth error body (RFC 6749 section 5.2), for the endpoints that answer the client directly. */
|
|
4
|
-
export declare function oauthError(status: number, error: string, description: string): Response;
|
|
4
|
+
export declare function oauthError(status: number, error: string, description: string, headers?: Record<string, string>): Response;
|
|
5
5
|
export declare function redirect(location: string): Response;
|
|
6
6
|
/**
|
|
7
7
|
* The authorization response (OAuth 2.1 section 4.1.2): parameters on the registered redirect URI,
|
|
@@ -11,12 +11,18 @@ export declare function authorizationResponse(args: {
|
|
|
11
11
|
redirectUri: string;
|
|
12
12
|
issuer: string;
|
|
13
13
|
state: string | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* The Set-Cookie value that deletes the request's transaction cookie, when the browser holds
|
|
16
|
+
* one: sending the browser back to the client ends the request there.
|
|
17
|
+
*/
|
|
18
|
+
clearCookie: string | undefined;
|
|
14
19
|
params: Record<string, string>;
|
|
15
20
|
}): Response;
|
|
16
21
|
export declare function authorizationError(args: {
|
|
17
22
|
redirectUri: string;
|
|
18
23
|
issuer: string;
|
|
19
24
|
state: string | undefined;
|
|
25
|
+
clearCookie: string | undefined;
|
|
20
26
|
error: string;
|
|
21
27
|
description: string;
|
|
22
28
|
}): Response;
|
package/dist/client/responses.js
CHANGED
|
@@ -11,8 +11,8 @@ export function json(body, status = 200, headers = {}) {
|
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
13
|
/** An OAuth error body (RFC 6749 section 5.2), for the endpoints that answer the client directly. */
|
|
14
|
-
export function oauthError(status, error, description) {
|
|
15
|
-
return json({ error, error_description: description }, status);
|
|
14
|
+
export function oauthError(status, error, description, headers = {}) {
|
|
15
|
+
return json({ error, error_description: description }, status, headers);
|
|
16
16
|
}
|
|
17
17
|
export function redirect(location) {
|
|
18
18
|
return new Response(null, {
|
|
@@ -33,13 +33,18 @@ export function authorizationResponse(args) {
|
|
|
33
33
|
url.searchParams.set("state", args.state);
|
|
34
34
|
}
|
|
35
35
|
url.searchParams.set("iss", args.issuer);
|
|
36
|
-
|
|
36
|
+
const response = redirect(url.toString());
|
|
37
|
+
if (args.clearCookie !== undefined) {
|
|
38
|
+
response.headers.append("Set-Cookie", args.clearCookie);
|
|
39
|
+
}
|
|
40
|
+
return response;
|
|
37
41
|
}
|
|
38
42
|
export function authorizationError(args) {
|
|
39
43
|
return authorizationResponse({
|
|
40
44
|
redirectUri: args.redirectUri,
|
|
41
45
|
issuer: args.issuer,
|
|
42
46
|
state: args.state,
|
|
47
|
+
clearCookie: args.clearCookie,
|
|
43
48
|
params: { error: args.error, error_description: args.description },
|
|
44
49
|
});
|
|
45
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/client/responses.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,MAAM,UAAU,IAAI,CAAC,IAAa,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,GAA2B,EAAE;IACpF,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACxC,MAAM;QACN,OAAO,EAAE;YACP,cAAc,EAAE,iCAAiC;YACjD,eAAe,EAAE,UAAU;YAC3B,MAAM,EAAE,UAAU;YAClB,GAAG,OAAO;SACX;KACF,CAAC,CAAC;AACL,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,UAAU,
|
|
1
|
+
{"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/client/responses.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,7 +59,9 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
|
|
|
59
59
|
state?: string;
|
|
60
60
|
} | null, Name>;
|
|
61
61
|
claimUpstream: FunctionReference<"mutation", "internal", {
|
|
62
|
+
connector: string;
|
|
62
63
|
now: number;
|
|
64
|
+
txnCookieHashes: Array<string>;
|
|
63
65
|
upstreamStateHash: string;
|
|
64
66
|
}, {
|
|
65
67
|
connector: string;
|
|
@@ -72,8 +74,11 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
|
|
|
72
74
|
upstreamNonce?: string;
|
|
73
75
|
} | {
|
|
74
76
|
redirectUri: string;
|
|
77
|
+
requestId: string;
|
|
75
78
|
state?: string;
|
|
76
79
|
status: "expired";
|
|
80
|
+
} | {
|
|
81
|
+
status: "unbound";
|
|
77
82
|
} | {
|
|
78
83
|
status: "missing";
|
|
79
84
|
}, Name>;
|
|
@@ -116,6 +121,7 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
|
|
|
116
121
|
requestId: string;
|
|
117
122
|
scope: string;
|
|
118
123
|
state?: string;
|
|
124
|
+
txnCookieHash?: string;
|
|
119
125
|
}, null, Name>;
|
|
120
126
|
exchangeCode: FunctionReference<"mutation", "internal", {
|
|
121
127
|
clientId: string;
|
|
@@ -157,6 +163,7 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
|
|
|
157
163
|
scope: string;
|
|
158
164
|
state?: string;
|
|
159
165
|
status: "pending";
|
|
166
|
+
txnCookieHash?: string;
|
|
160
167
|
} | {
|
|
161
168
|
appId: string;
|
|
162
169
|
clientId: string;
|
|
@@ -171,6 +178,7 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
|
|
|
171
178
|
scope: string;
|
|
172
179
|
state?: string;
|
|
173
180
|
status: "upstream";
|
|
181
|
+
txnCookieHash?: string;
|
|
174
182
|
upstreamCodeVerifier: string;
|
|
175
183
|
upstreamNonce?: string;
|
|
176
184
|
upstreamStateHash: string;
|
|
@@ -188,6 +196,7 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
|
|
|
188
196
|
scope: string;
|
|
189
197
|
state?: string;
|
|
190
198
|
status: "claimed";
|
|
199
|
+
txnCookieHash?: string;
|
|
191
200
|
} | {
|
|
192
201
|
appId: string;
|
|
193
202
|
clientId: string;
|
|
@@ -198,6 +207,8 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
|
|
|
198
207
|
emailAttempts: number;
|
|
199
208
|
emailCodeExpiresAt: number;
|
|
200
209
|
emailCodeHash: string;
|
|
210
|
+
emailLastSentAt: number;
|
|
211
|
+
emailSends: number;
|
|
201
212
|
expiresAt: number;
|
|
202
213
|
freshLogin: boolean;
|
|
203
214
|
nonce?: string;
|
|
@@ -206,6 +217,7 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
|
|
|
206
217
|
scope: string;
|
|
207
218
|
state?: string;
|
|
208
219
|
status: "emailSent";
|
|
220
|
+
txnCookieHash?: string;
|
|
209
221
|
} | {
|
|
210
222
|
appId: string;
|
|
211
223
|
authTime: number;
|
|
@@ -228,12 +240,15 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
|
|
|
228
240
|
scope: string;
|
|
229
241
|
state?: string;
|
|
230
242
|
status: "completed";
|
|
243
|
+
txnCookieHash?: string;
|
|
231
244
|
} | null, Name>;
|
|
232
245
|
startEmail: FunctionReference<"mutation", "internal", {
|
|
233
246
|
connector: string;
|
|
234
247
|
email: string;
|
|
235
248
|
emailCodeExpiresAt: number;
|
|
236
249
|
emailCodeHash: string;
|
|
250
|
+
emailHash: string;
|
|
251
|
+
maxAttempts: number;
|
|
237
252
|
now: number;
|
|
238
253
|
requestId: string;
|
|
239
254
|
}, {
|
|
@@ -241,7 +256,7 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
|
|
|
241
256
|
redirectUri: string;
|
|
242
257
|
state?: string;
|
|
243
258
|
} | {
|
|
244
|
-
error: "expired" | "wrong_status";
|
|
259
|
+
error: "expired" | "wrong_status" | "locked" | "too_soon" | "request_limit" | "address_limit" | "global_limit";
|
|
245
260
|
ok: false;
|
|
246
261
|
redirectUri: string;
|
|
247
262
|
state?: string;
|
|
@@ -342,11 +357,20 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
|
|
|
342
357
|
}, {
|
|
343
358
|
authRequests: number;
|
|
344
359
|
authorizationCodes: number;
|
|
360
|
+
emailSends: number;
|
|
345
361
|
previewClients: number;
|
|
362
|
+
registrationTokens: number;
|
|
346
363
|
signIns: number;
|
|
347
364
|
}, Name>;
|
|
348
365
|
};
|
|
349
366
|
registration: {
|
|
367
|
+
listTokens: FunctionReference<"query", "internal", {
|
|
368
|
+
appId: string;
|
|
369
|
+
}, Array<{
|
|
370
|
+
createdAt: number;
|
|
371
|
+
expiresAt: number;
|
|
372
|
+
tokenHash: string;
|
|
373
|
+
}>, Name>;
|
|
350
374
|
mintToken: FunctionReference<"mutation", "internal", {
|
|
351
375
|
appId: string;
|
|
352
376
|
createdAt: number;
|
|
@@ -362,6 +386,9 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
|
|
|
362
386
|
firstParty: boolean;
|
|
363
387
|
name: string;
|
|
364
388
|
} | null, Name>;
|
|
389
|
+
revokeToken: FunctionReference<"mutation", "internal", {
|
|
390
|
+
tokenHash: string;
|
|
391
|
+
}, null, Name>;
|
|
365
392
|
};
|
|
366
393
|
signIns: {
|
|
367
394
|
record: FunctionReference<"mutation", "internal", {
|
|
@@ -11,6 +11,7 @@ export declare const create: import("convex/server").RegisteredMutation<"public"
|
|
|
11
11
|
requestId: string;
|
|
12
12
|
scope: string;
|
|
13
13
|
state?: string;
|
|
14
|
+
txnCookieHash?: string;
|
|
14
15
|
}, Promise<null>>;
|
|
15
16
|
export declare const get: import("convex/server").RegisteredQuery<"public", {
|
|
16
17
|
requestId: string;
|
|
@@ -27,6 +28,7 @@ export declare const get: import("convex/server").RegisteredQuery<"public", {
|
|
|
27
28
|
scope: string;
|
|
28
29
|
state?: string;
|
|
29
30
|
status: "pending";
|
|
31
|
+
txnCookieHash?: string;
|
|
30
32
|
} | {
|
|
31
33
|
appId: string;
|
|
32
34
|
clientId: string;
|
|
@@ -41,6 +43,7 @@ export declare const get: import("convex/server").RegisteredQuery<"public", {
|
|
|
41
43
|
scope: string;
|
|
42
44
|
state?: string;
|
|
43
45
|
status: "upstream";
|
|
46
|
+
txnCookieHash?: string;
|
|
44
47
|
upstreamCodeVerifier: string;
|
|
45
48
|
upstreamNonce?: string;
|
|
46
49
|
upstreamStateHash: string;
|
|
@@ -58,6 +61,7 @@ export declare const get: import("convex/server").RegisteredQuery<"public", {
|
|
|
58
61
|
scope: string;
|
|
59
62
|
state?: string;
|
|
60
63
|
status: "claimed";
|
|
64
|
+
txnCookieHash?: string;
|
|
61
65
|
} | {
|
|
62
66
|
appId: string;
|
|
63
67
|
clientId: string;
|
|
@@ -68,6 +72,8 @@ export declare const get: import("convex/server").RegisteredQuery<"public", {
|
|
|
68
72
|
emailAttempts: number;
|
|
69
73
|
emailCodeExpiresAt: number;
|
|
70
74
|
emailCodeHash: string;
|
|
75
|
+
emailLastSentAt: number;
|
|
76
|
+
emailSends: number;
|
|
71
77
|
expiresAt: number;
|
|
72
78
|
freshLogin: boolean;
|
|
73
79
|
nonce?: string;
|
|
@@ -76,6 +82,7 @@ export declare const get: import("convex/server").RegisteredQuery<"public", {
|
|
|
76
82
|
scope: string;
|
|
77
83
|
state?: string;
|
|
78
84
|
status: "emailSent";
|
|
85
|
+
txnCookieHash?: string;
|
|
79
86
|
} | {
|
|
80
87
|
appId: string;
|
|
81
88
|
authTime: number;
|
|
@@ -98,6 +105,7 @@ export declare const get: import("convex/server").RegisteredQuery<"public", {
|
|
|
98
105
|
scope: string;
|
|
99
106
|
state?: string;
|
|
100
107
|
status: "completed";
|
|
108
|
+
txnCookieHash?: string;
|
|
101
109
|
} | null>>;
|
|
102
110
|
/** The user chose an OAuth or OIDC connector; the request now waits for that connector's callback. */
|
|
103
111
|
export declare const startUpstream: import("convex/server").RegisteredMutation<"public", {
|
|
@@ -121,11 +129,16 @@ export declare const startUpstream: import("convex/server").RegisteredMutation<"
|
|
|
121
129
|
ok: false;
|
|
122
130
|
}>>;
|
|
123
131
|
/**
|
|
124
|
-
* The connector
|
|
125
|
-
* same mutation that finds it, so a replayed or raced callback finds nothing to claim.
|
|
132
|
+
* The callback of `connector` arrived with its state. Claiming moves the request to `claimed` in
|
|
133
|
+
* the same mutation that finds it, so a replayed or raced callback finds nothing to claim. A
|
|
134
|
+
* request started for another connector is not claimed: its state cannot finish elsewhere. A
|
|
135
|
+
* request that went through the chooser is claimed only from the browser that holds its
|
|
136
|
+
* transaction cookie; any other browser gets `unbound` and the request keeps waiting.
|
|
126
137
|
*/
|
|
127
138
|
export declare const claimUpstream: import("convex/server").RegisteredMutation<"public", {
|
|
139
|
+
connector: string;
|
|
128
140
|
now: number;
|
|
141
|
+
txnCookieHashes: string[];
|
|
129
142
|
upstreamStateHash: string;
|
|
130
143
|
}, Promise<{
|
|
131
144
|
connector: string;
|
|
@@ -138,17 +151,30 @@ export declare const claimUpstream: import("convex/server").RegisteredMutation<"
|
|
|
138
151
|
upstreamNonce?: string;
|
|
139
152
|
} | {
|
|
140
153
|
redirectUri: string;
|
|
154
|
+
requestId: string;
|
|
141
155
|
state?: string;
|
|
142
156
|
status: "expired";
|
|
157
|
+
} | {
|
|
158
|
+
status: "unbound";
|
|
143
159
|
} | {
|
|
144
160
|
status: "missing";
|
|
145
161
|
}>>;
|
|
146
|
-
/** The
|
|
162
|
+
/** The rolling window of the per-address count; `lifecycle.cleanup` drops older `emailSends` rows. */
|
|
163
|
+
export declare const EMAIL_SEND_WINDOW_MS: number;
|
|
164
|
+
/**
|
|
165
|
+
* The user chose the email connector and typed an address; a code may be sent to it. A request
|
|
166
|
+
* sends at most `EMAIL_SENDS_PER_REQUEST` codes, `EMAIL_SEND_INTERVAL_MS` apart, an address
|
|
167
|
+
* receives at most `EMAIL_SENDS_PER_ADDRESS` codes per `EMAIL_SEND_WINDOW_MS`, and the broker sends
|
|
168
|
+
* at most `EMAIL_SENDS_GLOBAL` in that window. A resend replaces the code and keeps the attempt
|
|
169
|
+
* count, so a request locked by `maxAttempts` wrong codes stays locked.
|
|
170
|
+
*/
|
|
147
171
|
export declare const startEmail: import("convex/server").RegisteredMutation<"public", {
|
|
148
172
|
connector: string;
|
|
149
173
|
email: string;
|
|
150
174
|
emailCodeExpiresAt: number;
|
|
151
175
|
emailCodeHash: string;
|
|
176
|
+
emailHash: string;
|
|
177
|
+
maxAttempts: number;
|
|
152
178
|
now: number;
|
|
153
179
|
requestId: string;
|
|
154
180
|
}, Promise<{
|
|
@@ -156,7 +182,7 @@ export declare const startEmail: import("convex/server").RegisteredMutation<"pub
|
|
|
156
182
|
redirectUri: string;
|
|
157
183
|
state?: string;
|
|
158
184
|
} | {
|
|
159
|
-
error: "expired" | "wrong_status";
|
|
185
|
+
error: "address_limit" | "expired" | "global_limit" | "locked" | "request_limit" | "too_soon" | "wrong_status";
|
|
160
186
|
ok: false;
|
|
161
187
|
redirectUri: string;
|
|
162
188
|
state?: string;
|