@samebase/identity-broker 0.3.0 → 0.5.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 +5 -1
- package/dist/cli/index.js +6 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/rotate.d.ts +10 -0
- package/dist/cli/rotate.js +25 -0
- package/dist/cli/rotate.js.map +1 -0
- package/dist/client/connectors/upstream.d.ts +9 -1
- package/dist/client/connectors/upstream.js +9 -2
- package/dist/client/connectors/upstream.js.map +1 -1
- package/dist/client/index.d.ts +12 -3
- package/dist/client/index.js +80 -12
- package/dist/client/index.js.map +1 -1
- package/dist/client/jwt.d.ts +8 -0
- package/dist/client/jwt.js +51 -1
- package/dist/client/jwt.js.map +1 -1
- package/dist/client/keys.d.ts +11 -3
- package/dist/client/keys.js +68 -20
- package/dist/client/keys.js.map +1 -1
- package/dist/component/_generated/component.d.ts +6 -1
- package/dist/component/apps.d.ts +7 -2
- package/dist/component/apps.js +37 -20
- package/dist/component/apps.js.map +1 -1
- package/dist/component/authRequests.d.ts +1 -0
- package/dist/component/authRequests.js +3 -0
- package/dist/component/authRequests.js.map +1 -1
- package/dist/component/clients.d.ts +9 -0
- package/dist/component/clients.js +21 -1
- package/dist/component/clients.js.map +1 -1
- package/dist/component/lifecycle.d.ts +8 -7
- package/dist/component/lifecycle.js +26 -28
- package/dist/component/lifecycle.js.map +1 -1
- package/dist/component/schema.d.ts +1 -1
- package/dist/component/schema.js +1 -1
- package/dist/component/schema.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,14 +2,13 @@ import { v } from "convex/values";
|
|
|
2
2
|
import { internal } from "./_generated/api";
|
|
3
3
|
import { internalMutation, mutation } from "./_generated/server";
|
|
4
4
|
import { EMAIL_SEND_WINDOW_MS } from "./authRequests";
|
|
5
|
-
const { number, object } = v;
|
|
5
|
+
const { number, object, optional } = v;
|
|
6
6
|
/** How many documents one batch deletes per table, so a batch stays well inside one transaction. */
|
|
7
|
-
const BATCH = 200;
|
|
8
|
-
/** How many batches one `cleanup` call schedules after its own, so a backlog cannot loop forever. */
|
|
9
|
-
const MAX_CONTINUATIONS = 50;
|
|
7
|
+
export const BATCH = 200;
|
|
10
8
|
const vCleanupArgs = object({
|
|
11
9
|
now: number(),
|
|
12
|
-
|
|
10
|
+
/** Absent: preview clients are never deleted. */
|
|
11
|
+
previewClientMaxAgeMs: optional(number()),
|
|
13
12
|
signInRetentionMs: number(),
|
|
14
13
|
});
|
|
15
14
|
const vCleanupCounts = object({
|
|
@@ -22,9 +21,11 @@ const vCleanupCounts = object({
|
|
|
22
21
|
});
|
|
23
22
|
/**
|
|
24
23
|
* Deletes one batch of what has run out. A table that filled its batch may hold more, so the batch
|
|
25
|
-
* schedules the next one
|
|
24
|
+
* schedules the next one with the same `now`, until no table fills a batch. The cutoff never moves,
|
|
25
|
+
* so the run ends: a row written after the run began, a registration token minted with a positive
|
|
26
|
+
* lifetime included, runs out after `now`, and the rows that had run out by then are a fixed set.
|
|
26
27
|
*/
|
|
27
|
-
async function cleanupBatch(ctx, args
|
|
28
|
+
async function cleanupBatch(ctx, args) {
|
|
28
29
|
const requests = await ctx.db
|
|
29
30
|
.query("authRequests")
|
|
30
31
|
.withIndex("by_expires_at", (q) => q.lt("expiresAt", args.now))
|
|
@@ -46,13 +47,15 @@ async function cleanupBatch(ctx, args, continuation) {
|
|
|
46
47
|
for (const token of tokens) {
|
|
47
48
|
await ctx.db.delete("registrationTokens", token._id);
|
|
48
49
|
}
|
|
49
|
-
const
|
|
50
|
-
const previewClients =
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
50
|
+
const { previewClientMaxAgeMs } = args;
|
|
51
|
+
const previewClients = previewClientMaxAgeMs === undefined
|
|
52
|
+
? []
|
|
53
|
+
: (await ctx.db
|
|
54
|
+
.query("clients")
|
|
55
|
+
.withIndex("by_deployment_type", (q) => q.eq("deploymentType", "preview"))
|
|
56
|
+
.collect())
|
|
57
|
+
.filter((client) => (client.lastSignInAt ?? client.createdAt) < args.now - previewClientMaxAgeMs)
|
|
58
|
+
.slice(0, BATCH);
|
|
56
59
|
for (const client of previewClients) {
|
|
57
60
|
await ctx.db.delete("clients", client._id);
|
|
58
61
|
}
|
|
@@ -78,38 +81,33 @@ async function cleanupBatch(ctx, args, continuation) {
|
|
|
78
81
|
signIns: signIns.length,
|
|
79
82
|
emailSends: emailSends.length,
|
|
80
83
|
};
|
|
81
|
-
if (
|
|
84
|
+
if (Object.values(counts).some((count) => count === BATCH)) {
|
|
82
85
|
await ctx.scheduler.runAfter(0, internal.lifecycle.continueCleanup, {
|
|
83
86
|
now: args.now,
|
|
84
|
-
previewClientMaxAgeMs:
|
|
87
|
+
...(previewClientMaxAgeMs === undefined ? {} : { previewClientMaxAgeMs }),
|
|
85
88
|
signInRetentionMs: args.signInRetentionMs,
|
|
86
|
-
continuation: continuation + 1,
|
|
87
89
|
});
|
|
88
90
|
}
|
|
89
91
|
return counts;
|
|
90
92
|
}
|
|
91
93
|
/**
|
|
92
94
|
* Deletes what has run out: expired requests, codes and registration tokens, preview clients
|
|
93
|
-
* nobody used for `previewClientMaxAgeMs
|
|
94
|
-
* rows outside the send window. The host schedules this daily
|
|
95
|
-
* development clients are never touched. The counts are this call's
|
|
96
|
-
* the next one, so one call drains
|
|
95
|
+
* nobody used for `previewClientMaxAgeMs` when the host passes it, audit rows older than
|
|
96
|
+
* `signInRetentionMs`, and email send rows outside the send window. The host schedules this daily
|
|
97
|
+
* from a cron; production and development clients are never touched. The counts are this call's
|
|
98
|
+
* batch: a full batch schedules the next one, so one call drains everything older than `now`.
|
|
97
99
|
*/
|
|
98
100
|
export const cleanup = mutation({
|
|
99
101
|
args: vCleanupArgs,
|
|
100
102
|
returns: vCleanupCounts,
|
|
101
|
-
handler: async (ctx, args) => await cleanupBatch(ctx, args
|
|
103
|
+
handler: async (ctx, args) => await cleanupBatch(ctx, args),
|
|
102
104
|
});
|
|
103
105
|
/** The next batch of a `cleanup` call that filled a batch. */
|
|
104
106
|
export const continueCleanup = internalMutation({
|
|
105
|
-
args:
|
|
107
|
+
args: vCleanupArgs,
|
|
106
108
|
returns: v.null(),
|
|
107
109
|
handler: async (ctx, args) => {
|
|
108
|
-
await cleanupBatch(ctx,
|
|
109
|
-
now: args.now,
|
|
110
|
-
previewClientMaxAgeMs: args.previewClientMaxAgeMs,
|
|
111
|
-
signInRetentionMs: args.signInRetentionMs,
|
|
112
|
-
}, args.continuation);
|
|
110
|
+
await cleanupBatch(ctx, args);
|
|
113
111
|
return null;
|
|
114
112
|
},
|
|
115
113
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/component/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAc,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAoB,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/component/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** How a client authenticates at the token endpoint. Public clients are not supported yet. */
|
|
2
2
|
export declare const vTokenEndpointAuthMethod: import("convex/values").VUnion<"client_secret_basic" | "client_secret_post", [import("convex/values").VLiteral<"client_secret_post", "required">, import("convex/values").VLiteral<"client_secret_basic", "required">], "required", never>;
|
|
3
|
-
/** The deployment a client stands for.
|
|
3
|
+
/** The deployment a client stands for. */
|
|
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
|
package/dist/component/schema.js
CHANGED
|
@@ -3,7 +3,7 @@ import { v } from "convex/values";
|
|
|
3
3
|
const { array, boolean, literal, number, object, optional, string, union } = v;
|
|
4
4
|
/** How a client authenticates at the token endpoint. Public clients are not supported yet. */
|
|
5
5
|
export const vTokenEndpointAuthMethod = union(literal("client_secret_post"), literal("client_secret_basic"));
|
|
6
|
-
/** The deployment a client stands for.
|
|
6
|
+
/** The deployment a client stands for. */
|
|
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
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED