@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.
@@ -14,7 +14,7 @@ type Options = {
14
14
  logLevel?: "DEBUG";
15
15
  };
16
16
  export type AuthFunctions = {
17
- authKitAction: FunctionReference<"mutation", "internal", {
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;AAMF,MAAM,MAAM,aAAa,GAAG;IAC1B,aAAa,EAAE,iBAAiB,CAC9B,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;AAEF,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;IAqC1B,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;CA6EhC"}
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"}
@@ -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
- if (!clientId) {
18
- missingEnvVars.push("WORKOS_CLIENT_ID");
19
- }
20
- if (!apiKey) {
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(this.config.authFunctions.authKitAction, {
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, this.config.actionSecret);
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
  });
@@ -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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"}
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "bugs": {
7
7
  "url": "https://github.com/get-convex/workos-authkit/issues"
8
8
  },
9
- "version": "0.1.2",
9
+ "version": "0.1.3",
10
10
  "license": "Apache-2.0",
11
11
  "keywords": [
12
12
  "convex",
@@ -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: FunctionReference<
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
- if (!clientId) {
72
- missingEnvVars.push("WORKOS_CLIENT_ID");
73
- }
74
- if (!apiKey) {
75
- missingEnvVars.push("WORKOS_API_KEY");
76
- }
77
- if (!webhookSecret) {
78
- missingEnvVars.push("WORKOS_WEBHOOK_SECRET");
79
- }
80
- if (!actionSecret) {
81
- missingEnvVars.push("WORKOS_ACTION_SECRET");
82
- }
83
- if (!clientId || !apiKey || !webhookSecret || !actionSecret) {
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
- this.config.authFunctions.authKitAction,
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.config.actionSecret
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
  }),