@convex-dev/workos-authkit 0.1.2 → 0.1.3
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/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +17 -20
- package/dist/client/index.js.map +1 -1
- package/package.json +1 -1
- package/src/client/index.ts +30 -27
package/dist/client/index.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ type Options = {
|
|
|
14
14
|
logLevel?: "DEBUG";
|
|
15
15
|
};
|
|
16
16
|
export type AuthFunctions = {
|
|
17
|
-
authKitAction
|
|
17
|
+
authKitAction?: FunctionReference<"mutation", "internal", {
|
|
18
18
|
action: unknown;
|
|
19
19
|
}, WorkOSResponsePayload>;
|
|
20
20
|
authKitEvent?: FunctionReference<"mutation", "internal", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAIhB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EACL,MAAM,EACN,KAAK,KAAK,IAAI,WAAW,EACzB,KAAK,aAAa,IAAI,mBAAmB,EACzC,KAAK,kCAAkC,EACvC,KAAK,gCAAgC,EACtC,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE,KAAK,qBAAqB,GACtB,gCAAgC,GAChC,kCAAkC,CAAC;AAEvC,KAAK,OAAO,GAAG;IACb,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAIhB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EACL,MAAM,EACN,KAAK,KAAK,IAAI,WAAW,EACzB,KAAK,aAAa,IAAI,mBAAmB,EACzC,KAAK,kCAAkC,EACvC,KAAK,gCAAgC,EACtC,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE,KAAK,qBAAqB,GACtB,gCAAgC,GAChC,kCAAkC,CAAC;AAEvC,KAAK,OAAO,GAAG;IACb,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG;IAC1B,aAAa,CAAC,EAAE,iBAAiB,CAC/B,UAAU,EACV,UAAU,EACV;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,EACnB,qBAAqB,CACtB,CAAC;IACF,YAAY,CAAC,EAAE,iBAAiB,CAC9B,UAAU,EACV,UAAU,EACV;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,EAChC,IAAI,CACL,CAAC;CACH,CAAC;AAYF,qBAAa,OAAO,CAAC,SAAS,SAAS,gBAAgB;IAI5C,SAAS,EAAE,YAAY;IACvB,OAAO,CAAC,EAAE,OAAO;IAJnB,MAAM,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,MAAM,CAAS;gBAEd,SAAS,EAAE,YAAY,EACvB,OAAO,CAAC,EAAE,OAAO,YAAA;IA+B1B,sBAAsB;;;;;;;;;;;;SAegB;IAEhC,WAAW,CAAC,GAAG,EAAE,WAAW;;;;;;;;;;;;;;IASlC,MAAM,CAAC,CAAC,SAAS,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE;SAC1C,GAAG,IAAI,CAAC,GAAG,CACV,CAAC,SAAS,OAAO,CACf,WAAW,EACX;YACE,KAAK,EAAE,GAAG,CAAC;SACZ,CACF,EAED,GAAG,EAAE,kBAAkB,CAAC,SAAS,CAAC,EAClC,KAAK,EAAE,CAAC,KACL,OAAO,CAAC,IAAI,CAAC;KACnB;;;;;;IAcD,OAAO,CAAC,CAAC,SAAS,gBAAgB,GAAG,kBAAkB,EAAE,IAAI,EAAE;SAC5D,GAAG,IAAI,CAAC,GAAG,CACV,CAAC,SAAS,OAAO,CACf,mBAAmB,EACnB;YACE,MAAM,EAAE,GAAG,SAAS,gBAAgB,GAChC,+BAA+B,GAC/B,kCAAkC,CAAC;SACxC,CACF,EAED,GAAG,EAAE,kBAAkB,CAAC,SAAS,CAAC,EAClC,MAAM,EAAE,CAAC,EACT,EACE,KAAK,EACL,IAAI,GACL,EAAE;YACD,KAAK,EAAE,MAAM,qBAAqB,CAAC;YACnC,IAAI,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,qBAAqB,CAAC;SACvD,KACE,OAAO,CAAC,qBAAqB,CAAC;KACpC;;;;;IAkCD,cAAc,CAAC,IAAI,EAAE,UAAU;CA+EhC"}
|
package/dist/client/index.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { createFunctionHandle, httpActionGeneric, internalMutationGeneric, } from "convex/server";
|
|
2
2
|
import { WorkOS, } from "@workos-inc/node";
|
|
3
3
|
import { v } from "convex/values";
|
|
4
|
+
const requireEnvVar = (str, onUndefined) => {
|
|
5
|
+
if (!str) {
|
|
6
|
+
onUndefined();
|
|
7
|
+
}
|
|
8
|
+
return str;
|
|
9
|
+
};
|
|
4
10
|
export class AuthKit {
|
|
5
11
|
component;
|
|
6
12
|
options;
|
|
@@ -9,24 +15,11 @@ export class AuthKit {
|
|
|
9
15
|
constructor(component, options) {
|
|
10
16
|
this.component = component;
|
|
11
17
|
this.options = options;
|
|
12
|
-
const clientId = options?.clientId ?? process.env.WORKOS_CLIENT_ID;
|
|
13
|
-
const apiKey = options?.apiKey ?? process.env.WORKOS_API_KEY;
|
|
14
|
-
const webhookSecret = options?.webhookSecret ?? process.env.WORKOS_WEBHOOK_SECRET;
|
|
15
|
-
const actionSecret = options?.actionSecret ?? process.env.WORKOS_ACTION_SECRET;
|
|
16
18
|
const missingEnvVars = [];
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (
|
|
21
|
-
missingEnvVars.push("WORKOS_API_KEY");
|
|
22
|
-
}
|
|
23
|
-
if (!webhookSecret) {
|
|
24
|
-
missingEnvVars.push("WORKOS_WEBHOOK_SECRET");
|
|
25
|
-
}
|
|
26
|
-
if (!actionSecret) {
|
|
27
|
-
missingEnvVars.push("WORKOS_ACTION_SECRET");
|
|
28
|
-
}
|
|
29
|
-
if (!clientId || !apiKey || !webhookSecret || !actionSecret) {
|
|
19
|
+
const clientId = requireEnvVar(options?.clientId ?? process.env.WORKOS_CLIENT_ID, () => missingEnvVars.push("WORKOS_CLIENT_ID"));
|
|
20
|
+
const apiKey = requireEnvVar(options?.apiKey ?? process.env.WORKOS_API_KEY, () => missingEnvVars.push("WORKOS_API_KEY"));
|
|
21
|
+
const webhookSecret = requireEnvVar(options?.webhookSecret ?? process.env.WORKOS_WEBHOOK_SECRET, () => missingEnvVars.push("WORKOS_WEBHOOK_SECRET"));
|
|
22
|
+
if (missingEnvVars.length > 0) {
|
|
30
23
|
throw new Error(`Missing environment variables: ${missingEnvVars.join(", ")}`);
|
|
31
24
|
}
|
|
32
25
|
this.config = {
|
|
@@ -34,7 +27,7 @@ export class AuthKit {
|
|
|
34
27
|
clientId,
|
|
35
28
|
apiKey,
|
|
36
29
|
webhookSecret,
|
|
37
|
-
actionSecret,
|
|
30
|
+
actionSecret: options?.actionSecret ?? process.env.WORKOS_ACTION_SECRET,
|
|
38
31
|
webhookPath: options?.webhookPath ?? "/workos/webhook",
|
|
39
32
|
};
|
|
40
33
|
this.workos = new WorkOS(this.config.apiKey);
|
|
@@ -168,10 +161,14 @@ export class AuthKit {
|
|
|
168
161
|
if (!this.config.authFunctions?.authKitAction) {
|
|
169
162
|
throw new Error("authFunctions not set in AuthKit component configuration, or no authKitAction function exported");
|
|
170
163
|
}
|
|
171
|
-
const responsePayload = await ctx.runMutation(
|
|
164
|
+
const responsePayload = await ctx.runMutation(
|
|
165
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain
|
|
166
|
+
this.config.authFunctions?.authKitAction, {
|
|
172
167
|
action,
|
|
173
168
|
});
|
|
174
|
-
const response = await this.workos.actions.signResponse(responsePayload,
|
|
169
|
+
const response = await this.workos.actions.signResponse(responsePayload,
|
|
170
|
+
// We check for this in the constructor
|
|
171
|
+
this.config.actionSecret);
|
|
175
172
|
return new Response(JSON.stringify(response), { status: 200 });
|
|
176
173
|
}),
|
|
177
174
|
});
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,MAAM,GAKP,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/client/index.ts
CHANGED
|
@@ -34,13 +34,10 @@ type Options = {
|
|
|
34
34
|
actionSecret?: string;
|
|
35
35
|
logLevel?: "DEBUG";
|
|
36
36
|
};
|
|
37
|
-
type Config = SetRequired<
|
|
38
|
-
Options,
|
|
39
|
-
"clientId" | "apiKey" | "webhookSecret" | "actionSecret"
|
|
40
|
-
>;
|
|
37
|
+
type Config = SetRequired<Options, "clientId" | "apiKey" | "webhookSecret">;
|
|
41
38
|
|
|
42
39
|
export type AuthFunctions = {
|
|
43
|
-
authKitAction
|
|
40
|
+
authKitAction?: FunctionReference<
|
|
44
41
|
"mutation",
|
|
45
42
|
"internal",
|
|
46
43
|
{ action: unknown },
|
|
@@ -54,6 +51,16 @@ export type AuthFunctions = {
|
|
|
54
51
|
>;
|
|
55
52
|
};
|
|
56
53
|
|
|
54
|
+
const requireEnvVar = (
|
|
55
|
+
str: string | undefined,
|
|
56
|
+
onUndefined: () => void
|
|
57
|
+
): string => {
|
|
58
|
+
if (!str) {
|
|
59
|
+
onUndefined();
|
|
60
|
+
}
|
|
61
|
+
return str!;
|
|
62
|
+
};
|
|
63
|
+
|
|
57
64
|
export class AuthKit<DataModel extends GenericDataModel> {
|
|
58
65
|
public workos: WorkOS;
|
|
59
66
|
private config: Config;
|
|
@@ -61,26 +68,20 @@ export class AuthKit<DataModel extends GenericDataModel> {
|
|
|
61
68
|
public component: ComponentApi,
|
|
62
69
|
public options?: Options
|
|
63
70
|
) {
|
|
64
|
-
const clientId = options?.clientId ?? process.env.WORKOS_CLIENT_ID;
|
|
65
|
-
const apiKey = options?.apiKey ?? process.env.WORKOS_API_KEY;
|
|
66
|
-
const webhookSecret =
|
|
67
|
-
options?.webhookSecret ?? process.env.WORKOS_WEBHOOK_SECRET;
|
|
68
|
-
const actionSecret =
|
|
69
|
-
options?.actionSecret ?? process.env.WORKOS_ACTION_SECRET;
|
|
70
71
|
const missingEnvVars: string[] = [];
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
missingEnvVars.push("
|
|
82
|
-
|
|
83
|
-
if (
|
|
72
|
+
const clientId = requireEnvVar(
|
|
73
|
+
options?.clientId ?? process.env.WORKOS_CLIENT_ID,
|
|
74
|
+
() => missingEnvVars.push("WORKOS_CLIENT_ID")
|
|
75
|
+
);
|
|
76
|
+
const apiKey = requireEnvVar(
|
|
77
|
+
options?.apiKey ?? process.env.WORKOS_API_KEY,
|
|
78
|
+
() => missingEnvVars.push("WORKOS_API_KEY")
|
|
79
|
+
);
|
|
80
|
+
const webhookSecret = requireEnvVar(
|
|
81
|
+
options?.webhookSecret ?? process.env.WORKOS_WEBHOOK_SECRET,
|
|
82
|
+
() => missingEnvVars.push("WORKOS_WEBHOOK_SECRET")
|
|
83
|
+
);
|
|
84
|
+
if (missingEnvVars.length > 0) {
|
|
84
85
|
throw new Error(
|
|
85
86
|
`Missing environment variables: ${missingEnvVars.join(", ")}`
|
|
86
87
|
);
|
|
@@ -90,7 +91,7 @@ export class AuthKit<DataModel extends GenericDataModel> {
|
|
|
90
91
|
clientId,
|
|
91
92
|
apiKey,
|
|
92
93
|
webhookSecret,
|
|
93
|
-
actionSecret,
|
|
94
|
+
actionSecret: options?.actionSecret ?? process.env.WORKOS_ACTION_SECRET,
|
|
94
95
|
webhookPath: options?.webhookPath ?? "/workos/webhook",
|
|
95
96
|
};
|
|
96
97
|
this.workos = new WorkOS(this.config.apiKey);
|
|
@@ -267,14 +268,16 @@ export class AuthKit<DataModel extends GenericDataModel> {
|
|
|
267
268
|
);
|
|
268
269
|
}
|
|
269
270
|
const responsePayload: WorkOSResponsePayload = await ctx.runMutation(
|
|
270
|
-
|
|
271
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain
|
|
272
|
+
this.config.authFunctions?.authKitAction!,
|
|
271
273
|
{
|
|
272
274
|
action,
|
|
273
275
|
}
|
|
274
276
|
);
|
|
275
277
|
const response = await this.workos.actions.signResponse(
|
|
276
278
|
responsePayload,
|
|
277
|
-
this
|
|
279
|
+
// We check for this in the constructor
|
|
280
|
+
this.config.actionSecret!
|
|
278
281
|
);
|
|
279
282
|
return new Response(JSON.stringify(response), { status: 200 });
|
|
280
283
|
}),
|