@samebase/identity-broker 0.7.0 → 0.8.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 +0 -3
- package/dist/client/index.d.ts +0 -24
- package/dist/client/index.js +3 -144
- package/dist/client/index.js.map +1 -1
- package/dist/client/protocol.d.ts +1 -18
- package/dist/client/protocol.js +0 -83
- package/dist/client/protocol.js.map +1 -1
- package/dist/component/_generated/api.d.ts +0 -2
- package/dist/component/_generated/api.js.map +1 -1
- package/dist/component/_generated/component.d.ts +0 -39
- package/dist/component/apps.d.ts +8 -17
- package/dist/component/apps.js +24 -36
- package/dist/component/apps.js.map +1 -1
- package/dist/component/clients.d.ts +0 -9
- package/dist/component/clients.js +1 -21
- package/dist/component/clients.js.map +1 -1
- package/dist/component/lifecycle.d.ts +0 -1
- package/dist/component/lifecycle.js +0 -9
- package/dist/component/lifecycle.js.map +1 -1
- package/dist/component/schema.d.ts +1 -19
- package/dist/component/schema.js +1 -13
- package/dist/component/schema.js.map +1 -1
- package/package.json +1 -1
- package/dist/component/registration.d.ts +0 -29
- package/dist/component/registration.js +0 -90
- package/dist/component/registration.js.map +0 -1
package/README.md
CHANGED
|
@@ -99,9 +99,6 @@ with `firstParty` false. A Convex Auth v2 app points its generic OAuth method at
|
|
|
99
99
|
When a deployment goes away, `identityBroker:deleteClient` deletes its client. A client that is gone
|
|
100
100
|
is no error.
|
|
101
101
|
|
|
102
|
-
The route `/register` and its registration tokens are deprecated. They stay until the deployed apps
|
|
103
|
-
have moved, and a later release removes them.
|
|
104
|
-
|
|
105
102
|
## Standards
|
|
106
103
|
|
|
107
104
|
OAuth 2.1 (code flow, PKCE S256, exact redirect URIs, `iss` on responses), OpenID Connect Core and
|
package/dist/client/index.d.ts
CHANGED
|
@@ -36,7 +36,6 @@ export declare function defineIdentityBroker(config: IdentityBrokerConfig): {
|
|
|
36
36
|
*/
|
|
37
37
|
admin(): {
|
|
38
38
|
createApp: import("convex/server").RegisteredMutation<"internal", {
|
|
39
|
-
allowedCallbackHosts: string[];
|
|
40
39
|
firstParty: boolean;
|
|
41
40
|
name: string;
|
|
42
41
|
}, Promise<{
|
|
@@ -59,27 +58,6 @@ export declare function defineIdentityBroker(config: IdentityBrokerConfig): {
|
|
|
59
58
|
clientId: string;
|
|
60
59
|
clientSecret: string;
|
|
61
60
|
}>>;
|
|
62
|
-
mintRegistrationToken: import("convex/server").RegisteredMutation<"internal", {
|
|
63
|
-
appId: string;
|
|
64
|
-
expiresInDays?: number;
|
|
65
|
-
}, Promise<{
|
|
66
|
-
token: string;
|
|
67
|
-
expiresAt: number;
|
|
68
|
-
}>>;
|
|
69
|
-
setAllowedCallbackHosts: import("convex/server").RegisteredMutation<"internal", {
|
|
70
|
-
allowedCallbackHosts: string[];
|
|
71
|
-
appId: string;
|
|
72
|
-
}, Promise<null>>;
|
|
73
|
-
listRegistrationTokens: import("convex/server").RegisteredQuery<"internal", {
|
|
74
|
-
appId: string;
|
|
75
|
-
}, Promise<{
|
|
76
|
-
createdAt: number;
|
|
77
|
-
expiresAt: number;
|
|
78
|
-
tokenHash: string;
|
|
79
|
-
}[]>>;
|
|
80
|
-
revokeRegistrationToken: import("convex/server").RegisteredMutation<"internal", {
|
|
81
|
-
tokenHash: string;
|
|
82
|
-
}, Promise<null>>;
|
|
83
61
|
deleteClient: import("convex/server").RegisteredMutation<"internal", {
|
|
84
62
|
clientId: string;
|
|
85
63
|
}, Promise<null>>;
|
|
@@ -87,7 +65,6 @@ export declare function defineIdentityBroker(config: IdentityBrokerConfig): {
|
|
|
87
65
|
appId: string;
|
|
88
66
|
}, Promise<null>>;
|
|
89
67
|
listApps: import("convex/server").RegisteredQuery<"internal", {}, Promise<{
|
|
90
|
-
allowedCallbackHosts?: Array<string>;
|
|
91
68
|
appId: string;
|
|
92
69
|
createdAt: number;
|
|
93
70
|
firstParty: boolean;
|
|
@@ -112,7 +89,6 @@ export declare function defineIdentityBroker(config: IdentityBrokerConfig): {
|
|
|
112
89
|
authorizationCodes: number;
|
|
113
90
|
emailSends: number;
|
|
114
91
|
previewClients: number;
|
|
115
|
-
registrationTokens: number;
|
|
116
92
|
signIns: number;
|
|
117
93
|
}>>;
|
|
118
94
|
};
|
package/dist/client/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import { finishUpstream, startUpstream } from "./connectors/upstream.js";
|
|
|
6
6
|
import { chooserPage, emailAddressPage, emailCodePage, errorPage } from "./html.js";
|
|
7
7
|
import { signAccessToken, signIdToken, TOKEN_TTL_SECONDS, verifyAccessToken, } from "./jwt.js";
|
|
8
8
|
import { parseKeySet, publicJwks, SIGNING_ALGORITHM } from "./keys.js";
|
|
9
|
-
import { canonicalEmail, parseRedirectUri,
|
|
9
|
+
import { canonicalEmail, parseRedirectUri, readBearerToken, readClientAuthentication, validateAuthorizeRest, validateAuthorizeTarget, validateTokenRequest, } from "./protocol.js";
|
|
10
10
|
import { authorizationError, authorizationResponse, json, oauthError, readParameters, redirect, } from "./responses.js";
|
|
11
11
|
import { pairwiseSubject, randomDigits, randomToken, sha256Hex } from "./subject.js";
|
|
12
12
|
export { github } from "./connectors/github.js";
|
|
@@ -24,7 +24,6 @@ const AUTH_TIME_SKEW_SECONDS = 60;
|
|
|
24
24
|
const EMAIL_MAX_ATTEMPTS = 5;
|
|
25
25
|
/** The scopes the broker grants; any other requested scope is dropped. */
|
|
26
26
|
const SCOPES = ["openid", "email", "profile"];
|
|
27
|
-
const REGISTRATION_TOKEN_TTL_MS = 30 * 24 * 60 * 60 * 1000;
|
|
28
27
|
/** How long `cleanup` keeps an audit row of an issued id_token. */
|
|
29
28
|
export const SIGN_IN_RETENTION_MS = 90 * 24 * 60 * 60 * 1000;
|
|
30
29
|
export function defineIdentityBroker(config) {
|
|
@@ -93,7 +92,6 @@ export function defineIdentityBroker(config) {
|
|
|
93
92
|
token_endpoint: `${issuer}/token`,
|
|
94
93
|
userinfo_endpoint: `${issuer}/userinfo`,
|
|
95
94
|
jwks_uri: `${issuer}/.well-known/jwks.json`,
|
|
96
|
-
registration_endpoint: `${issuer}/register`,
|
|
97
95
|
scopes_supported: SCOPES,
|
|
98
96
|
response_types_supported: ["code"],
|
|
99
97
|
response_modes_supported: ["query"],
|
|
@@ -608,98 +606,6 @@ export function defineIdentityBroker(config) {
|
|
|
608
606
|
}
|
|
609
607
|
return errorPage("Invalid form", "Unknown step.", 400);
|
|
610
608
|
});
|
|
611
|
-
/** The app of a registration token, or its 401. */
|
|
612
|
-
async function registrationApp(ctx, request, now) {
|
|
613
|
-
const token = readBearerToken(request.headers.get("authorization"));
|
|
614
|
-
if (token === null) {
|
|
615
|
-
return {
|
|
616
|
-
ok: false,
|
|
617
|
-
response: oauthError(401, "invalid_token", "A registration token is required as a Bearer token."),
|
|
618
|
-
};
|
|
619
|
-
}
|
|
620
|
-
const app = await ctx.runQuery(component.registration.readToken, {
|
|
621
|
-
tokenHash: await sha256Hex(token),
|
|
622
|
-
now,
|
|
623
|
-
});
|
|
624
|
-
if (app === null) {
|
|
625
|
-
return {
|
|
626
|
-
ok: false,
|
|
627
|
-
response: oauthError(401, "invalid_token", "The registration token is unknown or expired."),
|
|
628
|
-
};
|
|
629
|
-
}
|
|
630
|
-
return { ok: true, app };
|
|
631
|
-
}
|
|
632
|
-
const register = httpActionGeneric(async (ctx, request) => {
|
|
633
|
-
const now = Date.now();
|
|
634
|
-
const auth = await registrationApp(ctx, request, now);
|
|
635
|
-
if (!auth.ok) {
|
|
636
|
-
return auth.response;
|
|
637
|
-
}
|
|
638
|
-
const { app } = auth;
|
|
639
|
-
let payload;
|
|
640
|
-
try {
|
|
641
|
-
payload = await request.json();
|
|
642
|
-
}
|
|
643
|
-
catch {
|
|
644
|
-
return oauthError(400, "invalid_client_metadata", "The request body must be JSON.");
|
|
645
|
-
}
|
|
646
|
-
const validation = validateRegistration(payload);
|
|
647
|
-
if (!validation.ok) {
|
|
648
|
-
return oauthError(validation.status, validation.error, validation.description);
|
|
649
|
-
}
|
|
650
|
-
const host = new URL(validation.value.redirectUri).hostname;
|
|
651
|
-
if (!hostAllowed(host, app.allowedCallbackHosts)) {
|
|
652
|
-
return oauthError(400, "invalid_redirect_uri", `The host "${host}" is not allowed for this app.`);
|
|
653
|
-
}
|
|
654
|
-
const clientId = `cl_${randomToken(16)}`;
|
|
655
|
-
const clientSecret = randomToken(32);
|
|
656
|
-
await ctx.runMutation(component.clients.create, {
|
|
657
|
-
clientId,
|
|
658
|
-
appId: app.appId,
|
|
659
|
-
secretHash: await sha256Hex(clientSecret),
|
|
660
|
-
tokenEndpointAuthMethod: validation.value.tokenEndpointAuthMethod,
|
|
661
|
-
redirectUri: validation.value.redirectUri,
|
|
662
|
-
deploymentType: validation.value.deploymentType,
|
|
663
|
-
clientName: validation.value.clientName,
|
|
664
|
-
softwareVersion: validation.value.softwareVersion,
|
|
665
|
-
createdAt: now,
|
|
666
|
-
});
|
|
667
|
-
return json({
|
|
668
|
-
client_id: clientId,
|
|
669
|
-
client_secret: clientSecret,
|
|
670
|
-
client_id_issued_at: Math.floor(now / 1000),
|
|
671
|
-
client_secret_expires_at: 0,
|
|
672
|
-
redirect_uris: [validation.value.redirectUri],
|
|
673
|
-
client_name: validation.value.clientName,
|
|
674
|
-
software_id: app.appId,
|
|
675
|
-
software_version: validation.value.softwareVersion,
|
|
676
|
-
deployment_type: validation.value.deploymentType,
|
|
677
|
-
token_endpoint_auth_method: validation.value.tokenEndpointAuthMethod,
|
|
678
|
-
grant_types: ["authorization_code"],
|
|
679
|
-
response_types: ["code"],
|
|
680
|
-
}, 201);
|
|
681
|
-
});
|
|
682
|
-
const registerPrefix = path("/register/");
|
|
683
|
-
/**
|
|
684
|
-
* `DELETE <prefix>/register/<client_id>` deletes a client of the token's app, of any deployment
|
|
685
|
-
* type. The segment is compared as sent: `/register` issues `cl_` and base64url, which a path
|
|
686
|
-
* carries as is. A client that is gone and a client of another app both answer 404, never 403,
|
|
687
|
-
* so a token learns nothing about another app's clients.
|
|
688
|
-
*/
|
|
689
|
-
const unregister = httpActionGeneric(async (ctx, request) => {
|
|
690
|
-
const auth = await registrationApp(ctx, request, Date.now());
|
|
691
|
-
if (!auth.ok) {
|
|
692
|
-
return auth.response;
|
|
693
|
-
}
|
|
694
|
-
const deleted = await ctx.runMutation(component.clients.unregister, {
|
|
695
|
-
clientId: new URL(request.url).pathname.slice(registerPrefix.length),
|
|
696
|
-
appId: auth.app.appId,
|
|
697
|
-
});
|
|
698
|
-
if (!deleted) {
|
|
699
|
-
return oauthError(404, "invalid_client", "No client with this id belongs to the app of this registration token.");
|
|
700
|
-
}
|
|
701
|
-
return new Response(null, { status: 204 });
|
|
702
|
-
});
|
|
703
609
|
const token = httpActionGeneric(async (ctx, request) => {
|
|
704
610
|
const contentType = request.headers.get("content-type")?.toLowerCase() ?? "";
|
|
705
611
|
if (!contentType.startsWith("application/x-www-form-urlencoded")) {
|
|
@@ -817,8 +723,6 @@ export function defineIdentityBroker(config) {
|
|
|
817
723
|
http.route({ path: path("/authorize"), method: "GET", handler: authorize });
|
|
818
724
|
http.route({ path: path("/authorize"), method: "POST", handler: authorize });
|
|
819
725
|
http.route({ path: path("/continue"), method: "GET", handler: continueSignIn });
|
|
820
|
-
http.route({ path: path("/register"), method: "POST", handler: register });
|
|
821
|
-
http.route({ pathPrefix: registerPrefix, method: "DELETE", handler: unregister });
|
|
822
726
|
http.route({ path: path("/token"), method: "POST", handler: token });
|
|
823
727
|
http.route({ path: path("/userinfo"), method: "GET", handler: userinfo });
|
|
824
728
|
http.route({ path: path("/userinfo"), method: "POST", handler: userinfo });
|
|
@@ -840,10 +744,10 @@ export function defineIdentityBroker(config) {
|
|
|
840
744
|
* host module such as `convex/identityBroker.ts`.
|
|
841
745
|
*/
|
|
842
746
|
admin() {
|
|
843
|
-
const {
|
|
747
|
+
const { boolean, string } = v;
|
|
844
748
|
return {
|
|
845
749
|
createApp: internalMutationGeneric({
|
|
846
|
-
args: { name: string(), firstParty: boolean()
|
|
750
|
+
args: { name: string(), firstParty: boolean() },
|
|
847
751
|
returns: v.object({ appId: string() }),
|
|
848
752
|
handler: async (ctx, args) => {
|
|
849
753
|
const slug = args.name
|
|
@@ -858,7 +762,6 @@ export function defineIdentityBroker(config) {
|
|
|
858
762
|
appId,
|
|
859
763
|
name: args.name,
|
|
860
764
|
firstParty: args.firstParty,
|
|
861
|
-
allowedCallbackHosts: args.allowedCallbackHosts,
|
|
862
765
|
createdAt: Date.now(),
|
|
863
766
|
});
|
|
864
767
|
return { appId };
|
|
@@ -909,50 +812,6 @@ export function defineIdentityBroker(config) {
|
|
|
909
812
|
return { issuer, clientId, clientSecret };
|
|
910
813
|
},
|
|
911
814
|
}),
|
|
912
|
-
mintRegistrationToken: internalMutationGeneric({
|
|
913
|
-
args: { appId: string(), expiresInDays: optional(number()) },
|
|
914
|
-
returns: v.object({ token: string(), expiresAt: number() }),
|
|
915
|
-
handler: async (ctx, args) => {
|
|
916
|
-
const token = `rt_${randomToken(32)}`;
|
|
917
|
-
const now = Date.now();
|
|
918
|
-
const expiresAt = now +
|
|
919
|
-
(args.expiresInDays === undefined
|
|
920
|
-
? REGISTRATION_TOKEN_TTL_MS
|
|
921
|
-
: args.expiresInDays * 24 * 60 * 60 * 1000);
|
|
922
|
-
await ctx.runMutation(component.registration.mintToken, {
|
|
923
|
-
tokenHash: await sha256Hex(token),
|
|
924
|
-
appId: args.appId,
|
|
925
|
-
expiresAt,
|
|
926
|
-
createdAt: now,
|
|
927
|
-
});
|
|
928
|
-
return { token, expiresAt };
|
|
929
|
-
},
|
|
930
|
-
}),
|
|
931
|
-
setAllowedCallbackHosts: internalMutationGeneric({
|
|
932
|
-
args: { appId: string(), allowedCallbackHosts: array(string()) },
|
|
933
|
-
returns: v.null(),
|
|
934
|
-
handler: async (ctx, args) => {
|
|
935
|
-
await ctx.runMutation(component.apps.setAllowedCallbackHosts, {
|
|
936
|
-
appId: args.appId,
|
|
937
|
-
allowedCallbackHosts: args.allowedCallbackHosts,
|
|
938
|
-
});
|
|
939
|
-
return null;
|
|
940
|
-
},
|
|
941
|
-
}),
|
|
942
|
-
listRegistrationTokens: internalQueryGeneric({
|
|
943
|
-
args: { appId: string() },
|
|
944
|
-
handler: async (ctx, args) => await ctx.runQuery(component.registration.listTokens, { appId: args.appId }),
|
|
945
|
-
}),
|
|
946
|
-
revokeRegistrationToken: internalMutationGeneric({
|
|
947
|
-
args: { tokenHash: string() },
|
|
948
|
-
returns: v.null(),
|
|
949
|
-
handler: async (ctx, args) => {
|
|
950
|
-
await ctx.runMutation(component.registration.revokeToken, {
|
|
951
|
-
tokenHash: args.tokenHash,
|
|
952
|
-
});
|
|
953
|
-
return null;
|
|
954
|
-
},
|
|
955
|
-
}),
|
|
956
815
|
deleteClient: internalMutationGeneric({
|
|
957
816
|
args: { clientId: string() },
|
|
958
817
|
returns: v.null(),
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,28 +11,11 @@ export type Validation<T> = {
|
|
|
11
11
|
error: string;
|
|
12
12
|
description: string;
|
|
13
13
|
};
|
|
14
|
-
export
|
|
15
|
-
export type TokenEndpointAuthMethod = (typeof TOKEN_ENDPOINT_AUTH_METHODS)[number];
|
|
16
|
-
export declare const DEPLOYMENT_TYPES: readonly ["production", "development", "preview"];
|
|
17
|
-
export type DeploymentType = (typeof DEPLOYMENT_TYPES)[number];
|
|
14
|
+
export type TokenEndpointAuthMethod = "client_secret_post" | "client_secret_basic";
|
|
18
15
|
/** The own enumerable entries of a JSON value, or an empty record for anything but an object. */
|
|
19
16
|
export declare function asRecord(value: unknown): Record<string, unknown>;
|
|
20
17
|
/** A redirect URI: absolute, no fragment, https, or http on a loopback host for local development. */
|
|
21
18
|
export declare function parseRedirectUri(value: string): URL | null;
|
|
22
|
-
/**
|
|
23
|
-
* Whether `hostname` is covered by one of an app's allowed callback hosts: an exact host, or a
|
|
24
|
-
* `*.suffix` pattern whose wildcard stands for exactly one leading label.
|
|
25
|
-
*/
|
|
26
|
-
export declare function hostAllowed(hostname: string, allowedHosts: readonly string[]): boolean;
|
|
27
|
-
export type RegistrationInput = {
|
|
28
|
-
redirectUri: string;
|
|
29
|
-
clientName: string;
|
|
30
|
-
softwareVersion: string;
|
|
31
|
-
deploymentType: DeploymentType;
|
|
32
|
-
tokenEndpointAuthMethod: TokenEndpointAuthMethod;
|
|
33
|
-
};
|
|
34
|
-
/** RFC 7591 registration metadata as this provider accepts it: one redirect URI per client. */
|
|
35
|
-
export declare function validateRegistration(payload: unknown): Validation<RegistrationInput>;
|
|
36
19
|
export type AuthorizeInput = {
|
|
37
20
|
clientId: string;
|
|
38
21
|
redirectUri: string;
|
package/dist/client/protocol.js
CHANGED
|
@@ -4,10 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
const MAX_STATE_LENGTH = 4096;
|
|
6
6
|
const MAX_REDIRECT_URI_LENGTH = 2048;
|
|
7
|
-
const MAX_CLIENT_NAME_LENGTH = 120;
|
|
8
7
|
const pkceValuePattern = /^[A-Za-z0-9\-._~]{43,128}$/;
|
|
9
|
-
export const TOKEN_ENDPOINT_AUTH_METHODS = ["client_secret_post", "client_secret_basic"];
|
|
10
|
-
export const DEPLOYMENT_TYPES = ["production", "development", "preview"];
|
|
11
8
|
/** The own enumerable entries of a JSON value, or an empty record for anything but an object. */
|
|
12
9
|
export function asRecord(value) {
|
|
13
10
|
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
@@ -49,86 +46,6 @@ export function parseRedirectUri(value) {
|
|
|
49
46
|
}
|
|
50
47
|
return null;
|
|
51
48
|
}
|
|
52
|
-
/**
|
|
53
|
-
* Whether `hostname` is covered by one of an app's allowed callback hosts: an exact host, or a
|
|
54
|
-
* `*.suffix` pattern whose wildcard stands for exactly one leading label.
|
|
55
|
-
*/
|
|
56
|
-
export function hostAllowed(hostname, allowedHosts) {
|
|
57
|
-
const host = hostname.toLowerCase();
|
|
58
|
-
return allowedHosts.some((allowed) => {
|
|
59
|
-
const pattern = allowed.toLowerCase();
|
|
60
|
-
if (!pattern.startsWith("*.")) {
|
|
61
|
-
return host === pattern;
|
|
62
|
-
}
|
|
63
|
-
const suffix = pattern.slice(1);
|
|
64
|
-
if (!host.endsWith(suffix)) {
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
const label = host.slice(0, host.length - suffix.length);
|
|
68
|
-
return label.length > 0 && !label.includes(".");
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
function readString(value, maxLength) {
|
|
72
|
-
if (typeof value !== "string") {
|
|
73
|
-
return null;
|
|
74
|
-
}
|
|
75
|
-
const trimmed = value.trim();
|
|
76
|
-
return trimmed.length === 0 || trimmed.length > maxLength ? null : trimmed;
|
|
77
|
-
}
|
|
78
|
-
/** RFC 7591 registration metadata as this provider accepts it: one redirect URI per client. */
|
|
79
|
-
export function validateRegistration(payload) {
|
|
80
|
-
if (typeof payload !== "object" || payload === null || Array.isArray(payload)) {
|
|
81
|
-
return invalid(400, "invalid_client_metadata", "The request body must be a JSON object.");
|
|
82
|
-
}
|
|
83
|
-
const record = asRecord(payload);
|
|
84
|
-
const redirectUris = record["redirect_uris"];
|
|
85
|
-
if (!Array.isArray(redirectUris) || redirectUris.length !== 1) {
|
|
86
|
-
return invalid(400, "invalid_redirect_uri", "redirect_uris must hold exactly one URI: a client is one deployment.");
|
|
87
|
-
}
|
|
88
|
-
const redirectUri = typeof redirectUris[0] === "string" ? redirectUris[0] : "";
|
|
89
|
-
if (parseRedirectUri(redirectUri) === null) {
|
|
90
|
-
return invalid(400, "invalid_redirect_uri", "The redirect URI must be an absolute https URL without a fragment, or http on a loopback host.");
|
|
91
|
-
}
|
|
92
|
-
const clientName = readString(record["client_name"], MAX_CLIENT_NAME_LENGTH);
|
|
93
|
-
if (clientName === null) {
|
|
94
|
-
return invalid(400, "invalid_client_metadata", "client_name is required.");
|
|
95
|
-
}
|
|
96
|
-
const softwareVersion = readString(record["software_version"] ?? "unknown", 200);
|
|
97
|
-
if (softwareVersion === null) {
|
|
98
|
-
return invalid(400, "invalid_client_metadata", "software_version must be a non-empty string.");
|
|
99
|
-
}
|
|
100
|
-
const deploymentType = DEPLOYMENT_TYPES.find((type) => type === record["deployment_type"]);
|
|
101
|
-
if (deploymentType === undefined) {
|
|
102
|
-
return invalid(400, "invalid_client_metadata", `deployment_type must be one of ${DEPLOYMENT_TYPES.join(", ")}.`);
|
|
103
|
-
}
|
|
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"));
|
|
106
|
-
if (authMethod === undefined) {
|
|
107
|
-
return invalid(400, "invalid_client_metadata", `token_endpoint_auth_method must be one of ${TOKEN_ENDPOINT_AUTH_METHODS.join(", ")}.`);
|
|
108
|
-
}
|
|
109
|
-
const grantTypes = record["grant_types"];
|
|
110
|
-
if (grantTypes !== undefined &&
|
|
111
|
-
(!Array.isArray(grantTypes) ||
|
|
112
|
-
grantTypes.length !== 1 ||
|
|
113
|
-
grantTypes[0] !== "authorization_code")) {
|
|
114
|
-
return invalid(400, "invalid_client_metadata", 'grant_types must be ["authorization_code"].');
|
|
115
|
-
}
|
|
116
|
-
const responseTypes = record["response_types"];
|
|
117
|
-
if (responseTypes !== undefined &&
|
|
118
|
-
(!Array.isArray(responseTypes) || responseTypes.length !== 1 || responseTypes[0] !== "code")) {
|
|
119
|
-
return invalid(400, "invalid_client_metadata", 'response_types must be ["code"].');
|
|
120
|
-
}
|
|
121
|
-
return {
|
|
122
|
-
ok: true,
|
|
123
|
-
value: {
|
|
124
|
-
redirectUri,
|
|
125
|
-
clientName,
|
|
126
|
-
softwareVersion,
|
|
127
|
-
deploymentType,
|
|
128
|
-
tokenEndpointAuthMethod: authMethod,
|
|
129
|
-
},
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
49
|
/**
|
|
133
50
|
* The first half of /authorize validation: the parameters that identify the client and where to
|
|
134
51
|
* send errors. Everything else is checked by `validateAuthorizeRest` once the client is known, so
|
|
@@ -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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"}
|
|
@@ -11,7 +11,6 @@ import type * as authRequests from "../authRequests.js";
|
|
|
11
11
|
import type * as clients from "../clients.js";
|
|
12
12
|
import type * as crypto from "../crypto.js";
|
|
13
13
|
import type * as lifecycle from "../lifecycle.js";
|
|
14
|
-
import type * as registration from "../registration.js";
|
|
15
14
|
import type * as signIns from "../signIns.js";
|
|
16
15
|
import type { ApiFromModules, FilterApi, FunctionReference } from "convex/server";
|
|
17
16
|
declare const fullApi: ApiFromModules<{
|
|
@@ -20,7 +19,6 @@ declare const fullApi: ApiFromModules<{
|
|
|
20
19
|
clients: typeof clients;
|
|
21
20
|
crypto: typeof crypto;
|
|
22
21
|
lifecycle: typeof lifecycle;
|
|
23
|
-
registration: typeof registration;
|
|
24
22
|
signIns: typeof signIns;
|
|
25
23
|
}>;
|
|
26
24
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/component/_generated/api.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/component/_generated/api.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;;;;GAOG;AAcH,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE1D,MAAM,OAAO,GAOR,MAAa,CAAC;AAEnB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,GAAG,GAGZ,MAAa,CAAC;AAElB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAGjB,MAAa,CAAC;AAElB,MAAM,CAAC,MAAM,UAAU,GAAG,iBAAiB,EAAmB,CAAC"}
|
|
@@ -21,7 +21,6 @@ import type { FunctionReference } from "convex/server";
|
|
|
21
21
|
export type ComponentApi<Name extends string | undefined = string | undefined> = {
|
|
22
22
|
apps: {
|
|
23
23
|
create: FunctionReference<"mutation", "internal", {
|
|
24
|
-
allowedCallbackHosts?: Array<string>;
|
|
25
24
|
appId: string;
|
|
26
25
|
createdAt: number;
|
|
27
26
|
firstParty: boolean;
|
|
@@ -30,14 +29,12 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
|
|
|
30
29
|
get: FunctionReference<"query", "internal", {
|
|
31
30
|
appId: string;
|
|
32
31
|
}, {
|
|
33
|
-
allowedCallbackHosts?: Array<string>;
|
|
34
32
|
appId: string;
|
|
35
33
|
createdAt: number;
|
|
36
34
|
firstParty: boolean;
|
|
37
35
|
name: string;
|
|
38
36
|
} | null, Name>;
|
|
39
37
|
list: FunctionReference<"query", "internal", {}, Array<{
|
|
40
|
-
allowedCallbackHosts?: Array<string>;
|
|
41
38
|
appId: string;
|
|
42
39
|
createdAt: number;
|
|
43
40
|
firstParty: boolean;
|
|
@@ -46,10 +43,6 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
|
|
|
46
43
|
remove: FunctionReference<"mutation", "internal", {
|
|
47
44
|
appId: string;
|
|
48
45
|
}, null, Name>;
|
|
49
|
-
setAllowedCallbackHosts: FunctionReference<"mutation", "internal", {
|
|
50
|
-
allowedCallbackHosts: Array<string>;
|
|
51
|
-
appId: string;
|
|
52
|
-
}, null, Name>;
|
|
53
46
|
};
|
|
54
47
|
authRequests: {
|
|
55
48
|
abandon: FunctionReference<"mutation", "internal", {
|
|
@@ -353,10 +346,6 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
|
|
|
353
346
|
remove: FunctionReference<"mutation", "internal", {
|
|
354
347
|
clientId: string;
|
|
355
348
|
}, null, Name>;
|
|
356
|
-
unregister: FunctionReference<"mutation", "internal", {
|
|
357
|
-
appId: string;
|
|
358
|
-
clientId: string;
|
|
359
|
-
}, boolean, Name>;
|
|
360
349
|
};
|
|
361
350
|
lifecycle: {
|
|
362
351
|
cleanup: FunctionReference<"mutation", "internal", {
|
|
@@ -368,37 +357,9 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
|
|
|
368
357
|
authorizationCodes: number;
|
|
369
358
|
emailSends: number;
|
|
370
359
|
previewClients: number;
|
|
371
|
-
registrationTokens: number;
|
|
372
360
|
signIns: number;
|
|
373
361
|
}, Name>;
|
|
374
362
|
};
|
|
375
|
-
registration: {
|
|
376
|
-
listTokens: FunctionReference<"query", "internal", {
|
|
377
|
-
appId: string;
|
|
378
|
-
}, Array<{
|
|
379
|
-
createdAt: number;
|
|
380
|
-
expiresAt: number;
|
|
381
|
-
tokenHash: string;
|
|
382
|
-
}>, Name>;
|
|
383
|
-
mintToken: FunctionReference<"mutation", "internal", {
|
|
384
|
-
appId: string;
|
|
385
|
-
createdAt: number;
|
|
386
|
-
expiresAt: number;
|
|
387
|
-
tokenHash: string;
|
|
388
|
-
}, null, Name>;
|
|
389
|
-
readToken: FunctionReference<"query", "internal", {
|
|
390
|
-
now: number;
|
|
391
|
-
tokenHash: string;
|
|
392
|
-
}, {
|
|
393
|
-
allowedCallbackHosts: Array<string>;
|
|
394
|
-
appId: string;
|
|
395
|
-
firstParty: boolean;
|
|
396
|
-
name: string;
|
|
397
|
-
} | null, Name>;
|
|
398
|
-
revokeToken: FunctionReference<"mutation", "internal", {
|
|
399
|
-
tokenHash: string;
|
|
400
|
-
}, null, Name>;
|
|
401
|
-
};
|
|
402
363
|
signIns: {
|
|
403
364
|
record: FunctionReference<"mutation", "internal", {
|
|
404
365
|
appId: string;
|
package/dist/component/apps.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
/** Registers an app. Its clients come later, one per deployment
|
|
1
|
+
/** Registers an app. Its clients come later, one per deployment. */
|
|
2
2
|
export declare const create: import("convex/server").RegisteredMutation<"public", {
|
|
3
|
-
allowedCallbackHosts?: string[];
|
|
4
3
|
appId: string;
|
|
5
4
|
createdAt: number;
|
|
6
5
|
firstParty: boolean;
|
|
@@ -9,29 +8,21 @@ export declare const create: import("convex/server").RegisteredMutation<"public"
|
|
|
9
8
|
export declare const get: import("convex/server").RegisteredQuery<"public", {
|
|
10
9
|
appId: string;
|
|
11
10
|
}, Promise<{
|
|
12
|
-
allowedCallbackHosts?: string[];
|
|
13
11
|
appId: string;
|
|
14
|
-
createdAt: number;
|
|
15
|
-
firstParty: boolean;
|
|
16
12
|
name: string;
|
|
13
|
+
firstParty: boolean;
|
|
14
|
+
createdAt: number;
|
|
17
15
|
} | null>>;
|
|
18
16
|
export declare const list: import("convex/server").RegisteredQuery<"public", {}, Promise<{
|
|
19
|
-
allowedCallbackHosts?: string[];
|
|
20
17
|
appId: string;
|
|
21
|
-
createdAt: number;
|
|
22
|
-
firstParty: boolean;
|
|
23
18
|
name: string;
|
|
19
|
+
firstParty: boolean;
|
|
20
|
+
createdAt: number;
|
|
24
21
|
}[]>>;
|
|
25
|
-
/** Replaces the hosts a client callback may use, for example when an app gets a custom domain. */
|
|
26
|
-
export declare const setAllowedCallbackHosts: import("convex/server").RegisteredMutation<"public", {
|
|
27
|
-
allowedCallbackHosts: string[];
|
|
28
|
-
appId: string;
|
|
29
|
-
}, Promise<null>>;
|
|
30
22
|
/**
|
|
31
|
-
* Deletes an app with its
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* rows take to delete.
|
|
23
|
+
* Deletes an app with its clients. This is the emergency revocation. The app row goes first:
|
|
24
|
+
* /authorize and /token refuse a client whose app is gone, so this transaction revokes every client
|
|
25
|
+
* of the app, however many batches their rows take to delete.
|
|
35
26
|
*/
|
|
36
27
|
export declare const remove: import("convex/server").RegisteredMutation<"public", {
|
|
37
28
|
appId: string;
|
package/dist/component/apps.js
CHANGED
|
@@ -2,21 +2,19 @@ import { v } from "convex/values";
|
|
|
2
2
|
import { internal } from "./_generated/api";
|
|
3
3
|
import { internalMutation, mutation, query } from "./_generated/server";
|
|
4
4
|
import { BATCH } from "./lifecycle";
|
|
5
|
-
const { array, boolean, number, object,
|
|
5
|
+
const { array, boolean, number, object, string } = v;
|
|
6
6
|
const vApp = object({
|
|
7
7
|
appId: string(),
|
|
8
8
|
name: string(),
|
|
9
9
|
firstParty: boolean(),
|
|
10
|
-
allowedCallbackHosts: optional(array(string())),
|
|
11
10
|
createdAt: number(),
|
|
12
11
|
});
|
|
13
|
-
/** Registers an app. Its clients come later, one per deployment
|
|
12
|
+
/** Registers an app. Its clients come later, one per deployment. */
|
|
14
13
|
export const create = mutation({
|
|
15
14
|
args: {
|
|
16
15
|
appId: string(),
|
|
17
16
|
name: string(),
|
|
18
17
|
firstParty: boolean(),
|
|
19
|
-
allowedCallbackHosts: optional(array(string())),
|
|
20
18
|
createdAt: number(),
|
|
21
19
|
},
|
|
22
20
|
returns: v.null(),
|
|
@@ -28,7 +26,12 @@ export const create = mutation({
|
|
|
28
26
|
if (existing !== null) {
|
|
29
27
|
throw new Error(`An app with id "${args.appId}" already exists`);
|
|
30
28
|
}
|
|
31
|
-
await ctx.db.insert("apps",
|
|
29
|
+
await ctx.db.insert("apps", {
|
|
30
|
+
appId: args.appId,
|
|
31
|
+
name: args.name,
|
|
32
|
+
firstParty: args.firstParty,
|
|
33
|
+
createdAt: args.createdAt,
|
|
34
|
+
});
|
|
32
35
|
return null;
|
|
33
36
|
},
|
|
34
37
|
});
|
|
@@ -43,8 +46,12 @@ export const get = query({
|
|
|
43
46
|
if (app === null) {
|
|
44
47
|
return null;
|
|
45
48
|
}
|
|
46
|
-
|
|
47
|
-
|
|
49
|
+
return {
|
|
50
|
+
appId: app.appId,
|
|
51
|
+
name: app.name,
|
|
52
|
+
firstParty: app.firstParty,
|
|
53
|
+
createdAt: app.createdAt,
|
|
54
|
+
};
|
|
48
55
|
},
|
|
49
56
|
});
|
|
50
57
|
export const list = query({
|
|
@@ -53,34 +60,16 @@ export const list = query({
|
|
|
53
60
|
handler: async (ctx) => {
|
|
54
61
|
const apps = await ctx.db.query("apps").collect();
|
|
55
62
|
return apps
|
|
56
|
-
.map((
|
|
63
|
+
.map((app) => ({
|
|
64
|
+
appId: app.appId,
|
|
65
|
+
name: app.name,
|
|
66
|
+
firstParty: app.firstParty,
|
|
67
|
+
createdAt: app.createdAt,
|
|
68
|
+
}))
|
|
57
69
|
.sort((a, b) => a.createdAt - b.createdAt || a.appId.localeCompare(b.appId));
|
|
58
70
|
},
|
|
59
71
|
});
|
|
60
|
-
/** Replaces the hosts a client callback may use, for example when an app gets a custom domain. */
|
|
61
|
-
export const setAllowedCallbackHosts = mutation({
|
|
62
|
-
args: { appId: string(), allowedCallbackHosts: array(string()) },
|
|
63
|
-
returns: v.null(),
|
|
64
|
-
handler: async (ctx, args) => {
|
|
65
|
-
const app = await ctx.db
|
|
66
|
-
.query("apps")
|
|
67
|
-
.withIndex("by_app_id", (q) => q.eq("appId", args.appId))
|
|
68
|
-
.unique();
|
|
69
|
-
if (app === null) {
|
|
70
|
-
throw new Error(`Unknown app "${args.appId}"`);
|
|
71
|
-
}
|
|
72
|
-
await ctx.db.patch("apps", app._id, { allowedCallbackHosts: args.allowedCallbackHosts });
|
|
73
|
-
return null;
|
|
74
|
-
},
|
|
75
|
-
});
|
|
76
72
|
async function removeRows(ctx, appId) {
|
|
77
|
-
const tokens = await ctx.db
|
|
78
|
-
.query("registrationTokens")
|
|
79
|
-
.withIndex("by_app_id", (q) => q.eq("appId", appId))
|
|
80
|
-
.take(BATCH);
|
|
81
|
-
for (const token of tokens) {
|
|
82
|
-
await ctx.db.delete("registrationTokens", token._id);
|
|
83
|
-
}
|
|
84
73
|
const clients = await ctx.db
|
|
85
74
|
.query("clients")
|
|
86
75
|
.withIndex("by_app_id", (q) => q.eq("appId", appId))
|
|
@@ -88,15 +77,14 @@ async function removeRows(ctx, appId) {
|
|
|
88
77
|
for (const client of clients) {
|
|
89
78
|
await ctx.db.delete("clients", client._id);
|
|
90
79
|
}
|
|
91
|
-
if (
|
|
80
|
+
if (clients.length === BATCH) {
|
|
92
81
|
await ctx.scheduler.runAfter(0, internal.apps.continueRemove, { appId });
|
|
93
82
|
}
|
|
94
83
|
}
|
|
95
84
|
/**
|
|
96
|
-
* Deletes an app with its
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
* rows take to delete.
|
|
85
|
+
* Deletes an app with its clients. This is the emergency revocation. The app row goes first:
|
|
86
|
+
* /authorize and /token refuse a client whose app is gone, so this transaction revokes every client
|
|
87
|
+
* of the app, however many batches their rows take to delete.
|
|
100
88
|
*/
|
|
101
89
|
export const remove = mutation({
|
|
102
90
|
args: { appId: string() },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/component/apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAoB,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"apps.js","sourceRoot":"","sources":["../../src/component/apps.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,12 +41,3 @@ export declare const listByApp: import("convex/server").RegisteredQuery<"public"
|
|
|
41
41
|
export declare const remove: import("convex/server").RegisteredMutation<"public", {
|
|
42
42
|
clientId: string;
|
|
43
43
|
}, Promise<null>>;
|
|
44
|
-
/**
|
|
45
|
-
* Deletes a client for `DELETE /register/<client_id>`, whose registration token names `appId`.
|
|
46
|
-
* False when no client has this id or it belongs to another app: the endpoint answers both with
|
|
47
|
-
* 404, so a token of one app learns nothing about the clients of another.
|
|
48
|
-
*/
|
|
49
|
-
export declare const unregister: import("convex/server").RegisteredMutation<"public", {
|
|
50
|
-
appId: string;
|
|
51
|
-
clientId: string;
|
|
52
|
-
}, Promise<boolean>>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { v } from "convex/values";
|
|
2
2
|
import { mutation, query } from "./_generated/server";
|
|
3
3
|
import { vDeploymentType, vTokenEndpointAuthMethod } from "./schema";
|
|
4
|
-
const { array,
|
|
4
|
+
const { array, number, object, optional, string } = v;
|
|
5
5
|
const vClient = object({
|
|
6
6
|
clientId: string(),
|
|
7
7
|
appId: string(),
|
|
@@ -92,24 +92,4 @@ export const remove = mutation({
|
|
|
92
92
|
return null;
|
|
93
93
|
},
|
|
94
94
|
});
|
|
95
|
-
/**
|
|
96
|
-
* Deletes a client for `DELETE /register/<client_id>`, whose registration token names `appId`.
|
|
97
|
-
* False when no client has this id or it belongs to another app: the endpoint answers both with
|
|
98
|
-
* 404, so a token of one app learns nothing about the clients of another.
|
|
99
|
-
*/
|
|
100
|
-
export const unregister = mutation({
|
|
101
|
-
args: { clientId: string(), appId: string() },
|
|
102
|
-
returns: boolean(),
|
|
103
|
-
handler: async (ctx, args) => {
|
|
104
|
-
const client = await ctx.db
|
|
105
|
-
.query("clients")
|
|
106
|
-
.withIndex("by_client_id", (q) => q.eq("clientId", args.clientId))
|
|
107
|
-
.unique();
|
|
108
|
-
if (client === null || client.appId !== args.appId) {
|
|
109
|
-
return false;
|
|
110
|
-
}
|
|
111
|
-
await ctx.db.delete("clients", client._id);
|
|
112
|
-
return true;
|
|
113
|
-
},
|
|
114
|
-
});
|
|
115
95
|
//# sourceMappingURL=clients.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clients.js","sourceRoot":"","sources":["../../src/component/clients.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAErE,MAAM,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"clients.js","sourceRoot":"","sources":["../../src/component/clients.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,6 @@ export declare const cleanup: import("convex/server").RegisteredMutation<"public
|
|
|
16
16
|
authorizationCodes: number;
|
|
17
17
|
emailSends: number;
|
|
18
18
|
previewClients: number;
|
|
19
|
-
registrationTokens: number;
|
|
20
19
|
signIns: number;
|
|
21
20
|
}>>;
|
|
22
21
|
/** The next batch of a `cleanup` call that filled a batch. */
|
|
@@ -14,7 +14,6 @@ const vCleanupArgs = object({
|
|
|
14
14
|
const vCleanupCounts = object({
|
|
15
15
|
authRequests: number(),
|
|
16
16
|
authorizationCodes: number(),
|
|
17
|
-
registrationTokens: number(),
|
|
18
17
|
previewClients: number(),
|
|
19
18
|
signIns: number(),
|
|
20
19
|
emailSends: number(),
|
|
@@ -40,13 +39,6 @@ async function cleanupBatch(ctx, args) {
|
|
|
40
39
|
for (const code of codes) {
|
|
41
40
|
await ctx.db.delete("authorizationCodes", code._id);
|
|
42
41
|
}
|
|
43
|
-
const tokens = await ctx.db
|
|
44
|
-
.query("registrationTokens")
|
|
45
|
-
.withIndex("by_expires_at", (q) => q.lt("expiresAt", args.now))
|
|
46
|
-
.take(BATCH);
|
|
47
|
-
for (const token of tokens) {
|
|
48
|
-
await ctx.db.delete("registrationTokens", token._id);
|
|
49
|
-
}
|
|
50
42
|
const { previewClientMaxAgeMs } = args;
|
|
51
43
|
const previewClients = previewClientMaxAgeMs === undefined
|
|
52
44
|
? []
|
|
@@ -76,7 +68,6 @@ async function cleanupBatch(ctx, args) {
|
|
|
76
68
|
const counts = {
|
|
77
69
|
authRequests: requests.length,
|
|
78
70
|
authorizationCodes: codes.length,
|
|
79
|
-
registrationTokens: tokens.length,
|
|
80
71
|
previewClients: previewClients.length,
|
|
81
72
|
signIns: signIns.length,
|
|
82
73
|
emailSends: emailSends.length,
|
|
@@ -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,QAAQ,EAAE,GAAG,CAAC,CAAC;AAEvC,oGAAoG;AACpG,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC;AAEzB,MAAM,YAAY,GAAG,MAAM,CAAC;IAC1B,GAAG,EAAE,MAAM,EAAE;IACb,iDAAiD;IACjD,qBAAqB,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzC,iBAAiB,EAAE,MAAM,EAAE;CAC5B,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,EAAE;IACtB,kBAAkB,EAAE,MAAM,EAAE;IAC5B,
|
|
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,QAAQ,EAAE,GAAG,CAAC,CAAC;AAEvC,oGAAoG;AACpG,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC;AAEzB,MAAM,YAAY,GAAG,MAAM,CAAC;IAC1B,GAAG,EAAE,MAAM,EAAE;IACb,iDAAiD;IACjD,qBAAqB,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzC,iBAAiB,EAAE,MAAM,EAAE;CAC5B,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,EAAE;IACtB,kBAAkB,EAAE,MAAM,EAAE;IAC5B,cAAc,EAAE,MAAM,EAAE;IACxB,OAAO,EAAE,MAAM,EAAE;IACjB,UAAU,EAAE,MAAM,EAAE;CACrB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,KAAK,UAAU,YAAY,CACzB,GAAgB,EAChB,IAAgC;IAEhC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE;SAC1B,KAAK,CAAC,cAAc,CAAC;SACrB,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;SAC9D,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE;SACvB,KAAK,CAAC,oBAAoB,CAAC;SAC3B,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;SAC9D,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC;IACvC,MAAM,cAAc,GAClB,qBAAqB,KAAK,SAAS;QACjC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CACE,MAAM,GAAG,CAAC,EAAE;aACT,KAAK,CAAC,SAAS,CAAC;aAChB,SAAS,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;aACzE,OAAO,EAAE,CACb;aACE,MAAM,CACL,CAAC,MAAM,EAAE,EAAE,CACT,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,qBAAqB,CAC/E;aACA,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACzB,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACpC,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE;SACzB,KAAK,CAAC,SAAS,CAAC;SAChB,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACxE,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE;SAC5B,KAAK,CAAC,YAAY,CAAC;SACnB,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,oBAAoB,CAAC,CAAC;SACtE,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,MAAM,GAAG;QACb,YAAY,EAAE,QAAQ,CAAC,MAAM;QAC7B,kBAAkB,EAAE,KAAK,CAAC,MAAM;QAChC,cAAc,EAAE,cAAc,CAAC,MAAM;QACrC,OAAO,EAAE,OAAO,CAAC,MAAM;QACvB,UAAU,EAAE,UAAU,CAAC,MAAM;KAC9B,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE;YAClE,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,CAAC,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC;YACzE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;IAC9B,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC;CAC5D,CAAC,CAAC;AAEH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC;IAC9C,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -346,30 +346,12 @@ declare const _default: import("convex/server").SchemaDefinition<{
|
|
|
346
346
|
appId: import("convex/values").VString<string, "required">;
|
|
347
347
|
name: import("convex/values").VString<string, "required">;
|
|
348
348
|
firstParty: import("convex/values").VBoolean<boolean, "required">;
|
|
349
|
-
/**
|
|
350
|
-
* Exact hosts or `*.suffix` patterns a client callback may use through `/register`, e.g.
|
|
351
|
-
* `*.convex.site`. `registerClient` does not read it.
|
|
352
|
-
*/
|
|
349
|
+
/** No longer read. The rows of a hub from before 0.8.0 still hold it. */
|
|
353
350
|
allowedCallbackHosts: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
|
|
354
351
|
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
355
352
|
}, "required", "allowedCallbackHosts" | "appId" | "createdAt" | "firstParty" | "name">, {
|
|
356
353
|
by_app_id: ["appId", "_creationTime"];
|
|
357
354
|
}, {}, {}>;
|
|
358
|
-
registrationTokens: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
359
|
-
appId: string;
|
|
360
|
-
createdAt: number;
|
|
361
|
-
expiresAt: number;
|
|
362
|
-
tokenHash: string;
|
|
363
|
-
}, {
|
|
364
|
-
tokenHash: import("convex/values").VString<string, "required">;
|
|
365
|
-
appId: import("convex/values").VString<string, "required">;
|
|
366
|
-
expiresAt: import("convex/values").VFloat64<number, "required">;
|
|
367
|
-
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
368
|
-
}, "required", "appId" | "createdAt" | "expiresAt" | "tokenHash">, {
|
|
369
|
-
by_app_id: ["appId", "_creationTime"];
|
|
370
|
-
by_expires_at: ["expiresAt", "_creationTime"];
|
|
371
|
-
by_token_hash: ["tokenHash", "_creationTime"];
|
|
372
|
-
}, {}, {}>;
|
|
373
355
|
clients: import("convex/server").TableDefinition<import("convex/values").VObject<{
|
|
374
356
|
appId: string;
|
|
375
357
|
clientId: string;
|
package/dist/component/schema.js
CHANGED
|
@@ -79,22 +79,10 @@ export default defineSchema({
|
|
|
79
79
|
appId: string(),
|
|
80
80
|
name: string(),
|
|
81
81
|
firstParty: boolean(),
|
|
82
|
-
/**
|
|
83
|
-
* Exact hosts or `*.suffix` patterns a client callback may use through `/register`, e.g.
|
|
84
|
-
* `*.convex.site`. `registerClient` does not read it.
|
|
85
|
-
*/
|
|
82
|
+
/** No longer read. The rows of a hub from before 0.8.0 still hold it. */
|
|
86
83
|
allowedCallbackHosts: optional(array(string())),
|
|
87
84
|
createdAt: number(),
|
|
88
85
|
}).index("by_app_id", ["appId"]),
|
|
89
|
-
registrationTokens: defineTable({
|
|
90
|
-
tokenHash: string(),
|
|
91
|
-
appId: string(),
|
|
92
|
-
expiresAt: number(),
|
|
93
|
-
createdAt: number(),
|
|
94
|
-
})
|
|
95
|
-
.index("by_token_hash", ["tokenHash"])
|
|
96
|
-
.index("by_app_id", ["appId"])
|
|
97
|
-
.index("by_expires_at", ["expiresAt"]),
|
|
98
86
|
clients: defineTable({
|
|
99
87
|
clientId: string(),
|
|
100
88
|
appId: string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/** Stores the hash of an initial access token (RFC 7591 section 3) that registers clients of one app. */
|
|
2
|
-
export declare const mintToken: import("convex/server").RegisteredMutation<"public", {
|
|
3
|
-
appId: string;
|
|
4
|
-
createdAt: number;
|
|
5
|
-
expiresAt: number;
|
|
6
|
-
tokenHash: string;
|
|
7
|
-
}, Promise<null>>;
|
|
8
|
-
/** The app a live registration token belongs to, or null for an unknown or expired token. */
|
|
9
|
-
export declare const readToken: import("convex/server").RegisteredQuery<"public", {
|
|
10
|
-
now: number;
|
|
11
|
-
tokenHash: string;
|
|
12
|
-
}, Promise<{
|
|
13
|
-
appId: string;
|
|
14
|
-
name: string;
|
|
15
|
-
firstParty: boolean;
|
|
16
|
-
allowedCallbackHosts: string[];
|
|
17
|
-
} | null>>;
|
|
18
|
-
/** The tokens of one app, as hashes: the plaintext is never stored. Oldest first. */
|
|
19
|
-
export declare const listTokens: import("convex/server").RegisteredQuery<"public", {
|
|
20
|
-
appId: string;
|
|
21
|
-
}, Promise<{
|
|
22
|
-
tokenHash: string;
|
|
23
|
-
expiresAt: number;
|
|
24
|
-
createdAt: number;
|
|
25
|
-
}[]>>;
|
|
26
|
-
/** Deletes a registration token before it expires. Clients it registered stay. */
|
|
27
|
-
export declare const revokeToken: import("convex/server").RegisteredMutation<"public", {
|
|
28
|
-
tokenHash: string;
|
|
29
|
-
}, Promise<null>>;
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { v } from "convex/values";
|
|
2
|
-
import { mutation, query } from "./_generated/server";
|
|
3
|
-
const { array, boolean, number, object, string } = v;
|
|
4
|
-
/** Stores the hash of an initial access token (RFC 7591 section 3) that registers clients of one app. */
|
|
5
|
-
export const mintToken = mutation({
|
|
6
|
-
args: { tokenHash: string(), appId: string(), expiresAt: number(), createdAt: number() },
|
|
7
|
-
returns: v.null(),
|
|
8
|
-
handler: async (ctx, args) => {
|
|
9
|
-
const app = await ctx.db
|
|
10
|
-
.query("apps")
|
|
11
|
-
.withIndex("by_app_id", (q) => q.eq("appId", args.appId))
|
|
12
|
-
.unique();
|
|
13
|
-
if (app === null) {
|
|
14
|
-
throw new Error(`Unknown app "${args.appId}"`);
|
|
15
|
-
}
|
|
16
|
-
await ctx.db.insert("registrationTokens", {
|
|
17
|
-
tokenHash: args.tokenHash,
|
|
18
|
-
appId: args.appId,
|
|
19
|
-
expiresAt: args.expiresAt,
|
|
20
|
-
createdAt: args.createdAt,
|
|
21
|
-
});
|
|
22
|
-
return null;
|
|
23
|
-
},
|
|
24
|
-
});
|
|
25
|
-
/** The app a live registration token belongs to, or null for an unknown or expired token. */
|
|
26
|
-
export const readToken = query({
|
|
27
|
-
args: { tokenHash: string(), now: number() },
|
|
28
|
-
returns: v.union(object({
|
|
29
|
-
appId: string(),
|
|
30
|
-
name: string(),
|
|
31
|
-
firstParty: boolean(),
|
|
32
|
-
allowedCallbackHosts: array(string()),
|
|
33
|
-
}), v.null()),
|
|
34
|
-
handler: async (ctx, args) => {
|
|
35
|
-
const token = await ctx.db
|
|
36
|
-
.query("registrationTokens")
|
|
37
|
-
.withIndex("by_token_hash", (q) => q.eq("tokenHash", args.tokenHash))
|
|
38
|
-
.unique();
|
|
39
|
-
if (token === null || token.expiresAt <= args.now) {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
const app = await ctx.db
|
|
43
|
-
.query("apps")
|
|
44
|
-
.withIndex("by_app_id", (q) => q.eq("appId", token.appId))
|
|
45
|
-
.unique();
|
|
46
|
-
if (app === null) {
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
return {
|
|
50
|
-
appId: app.appId,
|
|
51
|
-
name: app.name,
|
|
52
|
-
firstParty: app.firstParty,
|
|
53
|
-
allowedCallbackHosts: app.allowedCallbackHosts ?? [],
|
|
54
|
-
};
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
/** The tokens of one app, as hashes: the plaintext is never stored. Oldest first. */
|
|
58
|
-
export const listTokens = query({
|
|
59
|
-
args: { appId: string() },
|
|
60
|
-
returns: array(object({ tokenHash: string(), expiresAt: number(), createdAt: number() })),
|
|
61
|
-
handler: async (ctx, args) => {
|
|
62
|
-
const tokens = await ctx.db
|
|
63
|
-
.query("registrationTokens")
|
|
64
|
-
.withIndex("by_app_id", (q) => q.eq("appId", args.appId))
|
|
65
|
-
.collect();
|
|
66
|
-
return tokens
|
|
67
|
-
.map((token) => ({
|
|
68
|
-
tokenHash: token.tokenHash,
|
|
69
|
-
expiresAt: token.expiresAt,
|
|
70
|
-
createdAt: token.createdAt,
|
|
71
|
-
}))
|
|
72
|
-
.sort((a, b) => a.createdAt - b.createdAt || a.tokenHash.localeCompare(b.tokenHash));
|
|
73
|
-
},
|
|
74
|
-
});
|
|
75
|
-
/** Deletes a registration token before it expires. Clients it registered stay. */
|
|
76
|
-
export const revokeToken = mutation({
|
|
77
|
-
args: { tokenHash: string() },
|
|
78
|
-
returns: v.null(),
|
|
79
|
-
handler: async (ctx, args) => {
|
|
80
|
-
const token = await ctx.db
|
|
81
|
-
.query("registrationTokens")
|
|
82
|
-
.withIndex("by_token_hash", (q) => q.eq("tokenHash", args.tokenHash))
|
|
83
|
-
.unique();
|
|
84
|
-
if (token !== null) {
|
|
85
|
-
await ctx.db.delete("registrationTokens", token._id);
|
|
86
|
-
}
|
|
87
|
-
return null;
|
|
88
|
-
},
|
|
89
|
-
});
|
|
90
|
-
//# sourceMappingURL=registration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../src/component/registration.ts"],"names":[],"mappings":"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"}
|