@robelest/convex-auth 0.0.2-preview.2 → 0.0.3-preview

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.
Files changed (114) hide show
  1. package/dist/bin.cjs +467 -64
  2. package/dist/client/index.d.ts +127 -0
  3. package/dist/client/index.d.ts.map +1 -1
  4. package/dist/client/index.js +424 -1
  5. package/dist/client/index.js.map +1 -1
  6. package/dist/component/_generated/api.d.ts +56 -1
  7. package/dist/component/_generated/api.d.ts.map +1 -1
  8. package/dist/component/_generated/api.js.map +1 -1
  9. package/dist/component/_generated/component.d.ts +141 -3
  10. package/dist/component/_generated/component.d.ts.map +1 -1
  11. package/dist/component/convex.config.d.ts.map +1 -1
  12. package/dist/component/convex.config.js +2 -0
  13. package/dist/component/convex.config.js.map +1 -1
  14. package/dist/component/index.d.ts +5 -4
  15. package/dist/component/index.d.ts.map +1 -1
  16. package/dist/component/index.js +4 -3
  17. package/dist/component/index.js.map +1 -1
  18. package/dist/component/portalBridge.d.ts +80 -0
  19. package/dist/component/portalBridge.d.ts.map +1 -0
  20. package/dist/component/portalBridge.js +102 -0
  21. package/dist/component/portalBridge.js.map +1 -0
  22. package/dist/component/public.d.ts +353 -9
  23. package/dist/component/public.d.ts.map +1 -1
  24. package/dist/component/public.js +328 -33
  25. package/dist/component/public.js.map +1 -1
  26. package/dist/component/schema.d.ts +168 -9
  27. package/dist/component/schema.d.ts.map +1 -1
  28. package/dist/component/schema.js +113 -7
  29. package/dist/component/schema.js.map +1 -1
  30. package/dist/providers/passkey.d.ts +20 -0
  31. package/dist/providers/passkey.d.ts.map +1 -0
  32. package/dist/providers/passkey.js +32 -0
  33. package/dist/providers/passkey.js.map +1 -0
  34. package/dist/providers/totp.d.ts +14 -0
  35. package/dist/providers/totp.d.ts.map +1 -0
  36. package/dist/providers/totp.js +23 -0
  37. package/dist/providers/totp.js.map +1 -0
  38. package/dist/server/convex-auth.d.ts +296 -0
  39. package/dist/server/convex-auth.d.ts.map +1 -0
  40. package/dist/server/convex-auth.js +480 -0
  41. package/dist/server/convex-auth.js.map +1 -0
  42. package/dist/server/email-templates.d.ts +18 -0
  43. package/dist/server/email-templates.d.ts.map +1 -0
  44. package/dist/server/email-templates.js +74 -0
  45. package/dist/server/email-templates.js.map +1 -0
  46. package/dist/server/implementation/apiKey.d.ts +74 -0
  47. package/dist/server/implementation/apiKey.d.ts.map +1 -0
  48. package/dist/server/implementation/apiKey.js +140 -0
  49. package/dist/server/implementation/apiKey.js.map +1 -0
  50. package/dist/server/implementation/index.d.ts +169 -7
  51. package/dist/server/implementation/index.d.ts.map +1 -1
  52. package/dist/server/implementation/index.js +220 -5
  53. package/dist/server/implementation/index.js.map +1 -1
  54. package/dist/server/implementation/passkey.d.ts +33 -0
  55. package/dist/server/implementation/passkey.d.ts.map +1 -0
  56. package/dist/server/implementation/passkey.js +450 -0
  57. package/dist/server/implementation/passkey.js.map +1 -0
  58. package/dist/server/implementation/redirects.d.ts.map +1 -1
  59. package/dist/server/implementation/redirects.js +4 -9
  60. package/dist/server/implementation/redirects.js.map +1 -1
  61. package/dist/server/implementation/signIn.d.ts +13 -0
  62. package/dist/server/implementation/signIn.d.ts.map +1 -1
  63. package/dist/server/implementation/signIn.js +29 -15
  64. package/dist/server/implementation/signIn.js.map +1 -1
  65. package/dist/server/implementation/totp.d.ts +40 -0
  66. package/dist/server/implementation/totp.d.ts.map +1 -0
  67. package/dist/server/implementation/totp.js +211 -0
  68. package/dist/server/implementation/totp.js.map +1 -0
  69. package/dist/server/index.d.ts +26 -2
  70. package/dist/server/index.d.ts.map +1 -1
  71. package/dist/server/index.js +63 -16
  72. package/dist/server/index.js.map +1 -1
  73. package/dist/server/portal-email.d.ts +19 -0
  74. package/dist/server/portal-email.d.ts.map +1 -0
  75. package/dist/server/portal-email.js +89 -0
  76. package/dist/server/portal-email.js.map +1 -0
  77. package/dist/server/provider_utils.d.ts +3 -1
  78. package/dist/server/provider_utils.d.ts.map +1 -1
  79. package/dist/server/provider_utils.js +39 -1
  80. package/dist/server/provider_utils.js.map +1 -1
  81. package/dist/server/types.d.ts +263 -4
  82. package/dist/server/types.d.ts.map +1 -1
  83. package/dist/server/version.d.ts +2 -0
  84. package/dist/server/version.d.ts.map +1 -0
  85. package/dist/server/version.js +3 -0
  86. package/dist/server/version.js.map +1 -0
  87. package/package.json +7 -3
  88. package/src/cli/index.ts +49 -7
  89. package/src/cli/portal-link.ts +112 -0
  90. package/src/cli/portal-upload.ts +411 -0
  91. package/src/cli/utils.ts +248 -0
  92. package/src/client/index.ts +489 -1
  93. package/src/component/_generated/api.ts +72 -1
  94. package/src/component/_generated/component.ts +241 -4
  95. package/src/component/convex.config.ts +3 -0
  96. package/src/component/index.ts +8 -3
  97. package/src/component/portalBridge.ts +116 -0
  98. package/src/component/public.ts +373 -37
  99. package/src/component/schema.ts +122 -7
  100. package/src/providers/passkey.ts +35 -0
  101. package/src/providers/totp.ts +26 -0
  102. package/src/server/convex-auth.ts +602 -0
  103. package/src/server/email-templates.ts +77 -0
  104. package/src/server/implementation/apiKey.ts +185 -0
  105. package/src/server/implementation/index.ts +301 -8
  106. package/src/server/implementation/passkey.ts +650 -0
  107. package/src/server/implementation/redirects.ts +4 -11
  108. package/src/server/implementation/signIn.ts +41 -13
  109. package/src/server/implementation/totp.ts +366 -0
  110. package/src/server/index.ts +98 -34
  111. package/src/server/portal-email.ts +95 -0
  112. package/src/server/provider_utils.ts +42 -1
  113. package/src/server/types.ts +285 -4
  114. package/src/server/version.ts +2 -0
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Server-side TOTP ceremony logic for two-factor authentication.
3
+ *
4
+ * Handles the three phases of the TOTP flow:
5
+ * 1. setup — generate a TOTP secret and `otpauth://` URI for enrollment
6
+ * 2. confirm — verify the first code from the authenticator app and mark
7
+ * the enrollment as verified
8
+ * 3. verify — verify a TOTP code during sign-in (2FA challenge)
9
+ *
10
+ * Uses `@oslojs/otp` for TOTP generation / verification and
11
+ * `@oslojs/encoding` for base-32 secret encoding.
12
+ */
13
+ import { TotpProviderConfig, GenericActionCtxWithAuthConfig } from "../types.js";
14
+ import { AuthDataModel, SessionInfo } from "./types.js";
15
+ type EnrichedActionCtx = GenericActionCtxWithAuthConfig<AuthDataModel>;
16
+ /**
17
+ * Main TOTP handler dispatched from signIn.ts.
18
+ *
19
+ * Routes to the appropriate phase based on `params.flow`.
20
+ */
21
+ export declare function handleTotp(ctx: EnrichedActionCtx, provider: TotpProviderConfig, args: {
22
+ params?: Record<string, any>;
23
+ verifier?: string;
24
+ }): Promise<{
25
+ kind: "signedIn";
26
+ signedIn: SessionInfo | null;
27
+ } | {
28
+ kind: "totpSetup";
29
+ uri: string;
30
+ secret: string;
31
+ verifier: string;
32
+ totpId: string;
33
+ }>;
34
+ /**
35
+ * Check if a user has a verified TOTP enrollment.
36
+ * Called after credentials sign-in to determine if 2FA is needed.
37
+ */
38
+ export declare function checkTotpRequired(ctx: EnrichedActionCtx, userId: string): Promise<boolean>;
39
+ export {};
40
+ //# sourceMappingURL=totp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"totp.d.ts","sourceRoot":"","sources":["../../../src/server/implementation/totp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIxD,KAAK,iBAAiB,GAAG,8BAA8B,CAAC,aAAa,CAAC,CAAC;AA2QvE;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE;IACJ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CACN;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,GAClD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CACJ,CA8BA;AAMD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAMlB"}
@@ -0,0 +1,211 @@
1
+ /**
2
+ * Server-side TOTP ceremony logic for two-factor authentication.
3
+ *
4
+ * Handles the three phases of the TOTP flow:
5
+ * 1. setup — generate a TOTP secret and `otpauth://` URI for enrollment
6
+ * 2. confirm — verify the first code from the authenticator app and mark
7
+ * the enrollment as verified
8
+ * 3. verify — verify a TOTP code during sign-in (2FA challenge)
9
+ *
10
+ * Uses `@oslojs/otp` for TOTP generation / verification and
11
+ * `@oslojs/encoding` for base-32 secret encoding.
12
+ */
13
+ import { verifyTOTPWithGracePeriod, createTOTPKeyURI, } from "@oslojs/otp";
14
+ import { encodeBase32LowerCaseNoPadding } from "@oslojs/encoding";
15
+ import { callSignIn, callVerifier } from "./mutations/index.js";
16
+ import { callVerifierSignature } from "./mutations/verifierSignature.js";
17
+ // ============================================================================
18
+ // Setup flow
19
+ // ============================================================================
20
+ /**
21
+ * Phase 1: Generate a TOTP secret and enrollment URI.
22
+ *
23
+ * Requires an authenticated user — TOTP enrollment always adds a second
24
+ * factor to an existing account. The userId is taken from the current
25
+ * session identity.
26
+ */
27
+ async function handleSetup(ctx, provider, params) {
28
+ // TOTP enrollment requires an authenticated user
29
+ const identity = await ctx.auth.getUserIdentity();
30
+ if (identity === null) {
31
+ throw new Error("TOTP enrollment requires an authenticated user. " +
32
+ "Sign in first, then add TOTP to your account.");
33
+ }
34
+ const [userId] = identity.subject.split("|");
35
+ // Generate a 20-byte random secret (160 bits, per RFC 4226 recommendation)
36
+ const secret = new Uint8Array(20);
37
+ crypto.getRandomValues(secret);
38
+ // Resolve the account name for the otpauth:// URI
39
+ let accountName = params.accountName;
40
+ if (!accountName) {
41
+ const user = await ctx.runQuery(ctx.auth.config.component.public.userGetById, { userId: userId });
42
+ accountName = user?.email ?? "user";
43
+ }
44
+ // Build the otpauth:// URI for QR code scanning
45
+ const uri = createTOTPKeyURI(provider.options.issuer, accountName, secret, provider.options.period, provider.options.digits);
46
+ // Encode the secret as base-32 for manual entry
47
+ const base32Secret = encodeBase32LowerCaseNoPadding(secret);
48
+ // Store enrolment metadata in a verifier so we can correlate the confirm step
49
+ const verifier = await callVerifier(ctx);
50
+ await callVerifierSignature(ctx, {
51
+ verifier,
52
+ signature: JSON.stringify({
53
+ secret: Array.from(secret),
54
+ userId,
55
+ digits: provider.options.digits,
56
+ period: provider.options.period,
57
+ }),
58
+ });
59
+ // Insert an UNVERIFIED TOTP record in the DB
60
+ const totpId = await ctx.runMutation(ctx.auth.config.component.public.totpInsert, {
61
+ userId: userId,
62
+ secret: secret.buffer.slice(secret.byteOffset, secret.byteOffset + secret.byteLength),
63
+ digits: provider.options.digits,
64
+ period: provider.options.period,
65
+ verified: false,
66
+ name: params.name,
67
+ createdAt: Date.now(),
68
+ });
69
+ return {
70
+ kind: "totpSetup",
71
+ uri,
72
+ secret: base32Secret,
73
+ verifier,
74
+ totpId: totpId,
75
+ };
76
+ }
77
+ // ============================================================================
78
+ // Confirm flow
79
+ // ============================================================================
80
+ /**
81
+ * Phase 2: Verify the first code from the authenticator app.
82
+ *
83
+ * Requires an authenticated user. Marks the TOTP enrollment as verified
84
+ * after confirming the code is correct.
85
+ */
86
+ async function handleConfirm(ctx, provider, params, verifierValue) {
87
+ // TOTP confirmation requires an authenticated user
88
+ const identity = await ctx.auth.getUserIdentity();
89
+ if (identity === null) {
90
+ throw new Error("TOTP confirmation requires an authenticated user. " +
91
+ "Sign in first, then confirm your TOTP enrollment.");
92
+ }
93
+ const [userId] = identity.subject.split("|");
94
+ if (!verifierValue) {
95
+ throw new Error("Missing verifier");
96
+ }
97
+ if (!params.code) {
98
+ throw new Error("Missing `code` parameter");
99
+ }
100
+ if (!params.totpId) {
101
+ throw new Error("Missing `totpId` parameter");
102
+ }
103
+ // Look up the TOTP record
104
+ const totpDoc = await ctx.runQuery(ctx.auth.config.component.public.totpGetById, { totpId: params.totpId });
105
+ if (!totpDoc) {
106
+ throw new Error("TOTP enrollment not found");
107
+ }
108
+ if (totpDoc.verified) {
109
+ throw new Error("TOTP enrollment is already verified");
110
+ }
111
+ // Extract the secret from the TOTP record
112
+ const secret = new Uint8Array(totpDoc.secret);
113
+ // Verify the code with a 30-second grace period
114
+ const valid = verifyTOTPWithGracePeriod(secret, provider.options.period, provider.options.digits, params.code, 30);
115
+ if (!valid) {
116
+ throw new Error("Invalid TOTP code");
117
+ }
118
+ // Mark the enrollment as verified
119
+ await ctx.runMutation(ctx.auth.config.component.public.totpMarkVerified, { totpId: params.totpId, lastUsedAt: Date.now() });
120
+ // Clean up the verifier
121
+ await ctx.runMutation(ctx.auth.config.component.public.verifierDelete, { verifierId: verifierValue });
122
+ // Return tokens for the existing session
123
+ const signInResult = await callSignIn(ctx, {
124
+ userId: userId,
125
+ generateTokens: true,
126
+ });
127
+ return { kind: "signedIn", signedIn: signInResult };
128
+ }
129
+ // ============================================================================
130
+ // Verify flow (2FA during sign-in)
131
+ // ============================================================================
132
+ /**
133
+ * Phase 3: Verify a TOTP code during sign-in.
134
+ *
135
+ * Does NOT require an authenticated user — this runs mid-sign-in as a
136
+ * second-factor challenge. The userId is retrieved from the stored verifier.
137
+ */
138
+ async function handleVerify(ctx, provider, params, verifierValue) {
139
+ if (!verifierValue) {
140
+ throw new Error("Missing verifier");
141
+ }
142
+ if (!params.code) {
143
+ throw new Error("Missing `code` parameter");
144
+ }
145
+ // Look up the verifier to retrieve the stored userId
146
+ const verifierDoc = await ctx.runQuery(ctx.auth.config.component.public.verifierGetById, { verifierId: verifierValue });
147
+ if (!verifierDoc) {
148
+ throw new Error("Invalid or expired verifier");
149
+ }
150
+ // Parse the signature to extract userId
151
+ const signatureData = JSON.parse(verifierDoc.signature);
152
+ const userId = signatureData.userId;
153
+ // Look up the user's verified TOTP enrollment
154
+ const totpDoc = await ctx.runQuery(ctx.auth.config.component.public.totpGetVerifiedByUserId, { userId: userId });
155
+ if (!totpDoc) {
156
+ throw new Error("No TOTP enrollment found");
157
+ }
158
+ // Extract the secret from the TOTP record
159
+ const secret = new Uint8Array(totpDoc.secret);
160
+ // Verify the code with a 30-second grace period
161
+ const valid = verifyTOTPWithGracePeriod(secret, totpDoc.period, totpDoc.digits, params.code, 30);
162
+ if (!valid) {
163
+ throw new Error("Invalid TOTP code");
164
+ }
165
+ // Update last used timestamp
166
+ await ctx.runMutation(ctx.auth.config.component.public.totpUpdateLastUsed, { totpId: totpDoc._id, lastUsedAt: Date.now() });
167
+ // Clean up the verifier
168
+ await ctx.runMutation(ctx.auth.config.component.public.verifierDelete, { verifierId: verifierValue });
169
+ // Sign in the user with tokens
170
+ const signInResult = await callSignIn(ctx, {
171
+ userId,
172
+ generateTokens: true,
173
+ });
174
+ return { kind: "signedIn", signedIn: signInResult };
175
+ }
176
+ // ============================================================================
177
+ // Main dispatch
178
+ // ============================================================================
179
+ /**
180
+ * Main TOTP handler dispatched from signIn.ts.
181
+ *
182
+ * Routes to the appropriate phase based on `params.flow`.
183
+ */
184
+ export async function handleTotp(ctx, provider, args) {
185
+ const flow = args.params?.flow;
186
+ if (!flow) {
187
+ throw new Error("Missing `flow` parameter. Expected one of: setup, confirm, verify");
188
+ }
189
+ switch (flow) {
190
+ case "setup":
191
+ return handleSetup(ctx, provider, args.params ?? {});
192
+ case "confirm":
193
+ return handleConfirm(ctx, provider, args.params ?? {}, args.verifier);
194
+ case "verify":
195
+ return handleVerify(ctx, provider, args.params ?? {}, args.verifier);
196
+ default:
197
+ throw new Error(`Unknown TOTP flow: ${flow}. Expected one of: setup, confirm, verify`);
198
+ }
199
+ }
200
+ // ============================================================================
201
+ // Helpers
202
+ // ============================================================================
203
+ /**
204
+ * Check if a user has a verified TOTP enrollment.
205
+ * Called after credentials sign-in to determine if 2FA is needed.
206
+ */
207
+ export async function checkTotpRequired(ctx, userId) {
208
+ const totpDoc = await ctx.runQuery(ctx.auth.config.component.public.totpGetVerifiedByUserId, { userId: userId });
209
+ return totpDoc !== null;
210
+ }
211
+ //# sourceMappingURL=totp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"totp.js","sourceRoot":"","sources":["../../../src/server/implementation/totp.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,19 @@ export type AuthCookies = {
6
6
  refreshToken: string | null;
7
7
  verifier: string | null;
8
8
  };
9
+ /** A structured cookie ready to be set via any framework's cookie API. */
10
+ export type AuthCookie = {
11
+ name: string;
12
+ value: string;
13
+ options: {
14
+ path: string;
15
+ httpOnly: boolean;
16
+ secure: boolean;
17
+ sameSite: "lax" | "strict" | "none";
18
+ maxAge?: number;
19
+ expires?: Date;
20
+ };
21
+ };
9
22
  export type ServerOptions = {
10
23
  /** Convex deployment URL. */
11
24
  url: string;
@@ -15,8 +28,12 @@ export type ServerOptions = {
15
28
  shouldHandleCode?: ((request: Request) => boolean | Promise<boolean>) | boolean;
16
29
  };
17
30
  export type RefreshResult = {
18
- response?: Response;
19
- cookies?: string[];
31
+ /** Structured cookies to set on the response. */
32
+ cookies: AuthCookie[];
33
+ /** URL to redirect to (set after OAuth code exchange). */
34
+ redirect?: string;
35
+ /** JWT for SSR hydration, or `null` if not authenticated. */
36
+ token: string | null;
20
37
  };
21
38
  export declare function authCookieNames(host?: string): {
22
39
  token: string;
@@ -25,6 +42,13 @@ export declare function authCookieNames(host?: string): {
25
42
  };
26
43
  export declare function parseAuthCookies(cookieHeader: string | null | undefined, host?: string): AuthCookies;
27
44
  export declare function serializeAuthCookies(cookies: AuthCookies, host?: string, config?: AuthCookieConfig): string[];
45
+ /**
46
+ * Build structured cookie objects for any SSR framework.
47
+ *
48
+ * Use with SvelteKit's `event.cookies.set()`, TanStack Start's `setCookie()`,
49
+ * Next.js's `cookies().set()`, or any other framework cookie API.
50
+ */
51
+ export declare function structuredAuthCookies(cookies: AuthCookies, host?: string, config?: AuthCookieConfig): AuthCookie[];
28
52
  export declare function shouldProxyAuthAction(pathname: string, apiRoute: string): boolean;
29
53
  export declare function server(options: ServerOptions): {
30
54
  token(request: Request): string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;CACjF,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM;;;;EAO5C;AAED,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACvC,IAAI,CAAC,EAAE,MAAM,GACZ,WAAW,CAQb;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,GAAE,gBAAmC,YA4B5C;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAKvE;AAOD,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa;mBAsH1B,OAAO,GAAG,MAAM,GAAG,IAAI;oBAIhB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;mBAY3B,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;qBAkHzB,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;EAkG1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QACpC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,IAAI,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;CACjF,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,iDAAiD;IACjD,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM;;;;EAO5C;AAED,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACvC,IAAI,CAAC,EAAE,MAAM,GACZ,WAAW,CAQb;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,GAAE,gBAAmC,YA4B5C;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,GAAE,gBAAmC,GAC1C,UAAU,EAAE,CAuCd;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAKvE;AAOD,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa;mBAsH1B,OAAO,GAAG,MAAM,GAAG,IAAI;oBAIhB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;mBAY3B,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;qBAkHzB,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;EA6F1D"}
@@ -47,6 +47,52 @@ export function serializeAuthCookies(cookies, host, config = { maxAge: null }) {
47
47
  }),
48
48
  ];
49
49
  }
50
+ /**
51
+ * Build structured cookie objects for any SSR framework.
52
+ *
53
+ * Use with SvelteKit's `event.cookies.set()`, TanStack Start's `setCookie()`,
54
+ * Next.js's `cookies().set()`, or any other framework cookie API.
55
+ */
56
+ export function structuredAuthCookies(cookies, host, config = { maxAge: null }) {
57
+ const names = authCookieNames(host);
58
+ const secure = !isLocalHost(host);
59
+ const base = {
60
+ path: "/",
61
+ httpOnly: true,
62
+ secure,
63
+ sameSite: "lax",
64
+ };
65
+ const maxAge = config.maxAge ?? undefined;
66
+ return [
67
+ {
68
+ name: names.token,
69
+ value: cookies.token ?? "",
70
+ options: {
71
+ ...base,
72
+ maxAge: cookies.token === null ? 0 : maxAge,
73
+ expires: cookies.token === null ? new Date(0) : undefined,
74
+ },
75
+ },
76
+ {
77
+ name: names.refreshToken,
78
+ value: cookies.refreshToken ?? "",
79
+ options: {
80
+ ...base,
81
+ maxAge: cookies.refreshToken === null ? 0 : maxAge,
82
+ expires: cookies.refreshToken === null ? new Date(0) : undefined,
83
+ },
84
+ },
85
+ {
86
+ name: names.verifier,
87
+ value: cookies.verifier ?? "",
88
+ options: {
89
+ ...base,
90
+ maxAge: cookies.verifier === null ? 0 : maxAge,
91
+ expires: cookies.verifier === null ? new Date(0) : undefined,
92
+ },
93
+ },
94
+ ];
95
+ }
50
96
  export function shouldProxyAuthAction(pathname, apiRoute) {
51
97
  if (apiRoute.endsWith("/")) {
52
98
  return pathname === apiRoute || pathname === apiRoute.slice(0, -1);
@@ -240,15 +286,15 @@ export function server(options) {
240
286
  },
241
287
  async refresh(request) {
242
288
  const host = cookieHost(request);
289
+ const currentToken = parseRequestCookies(request).token;
290
+ // CORS request — clear all auth cookies.
243
291
  if (isCorsRequest(request)) {
244
292
  return {
245
- cookies: serializeAuthCookies({
246
- token: null,
247
- refreshToken: null,
248
- verifier: null,
249
- }, host, cookieConfig),
293
+ cookies: structuredAuthCookies({ token: null, refreshToken: null, verifier: null }, host, cookieConfig),
294
+ token: null,
250
295
  };
251
296
  }
297
+ // OAuth code exchange — exchange code for tokens and redirect.
252
298
  const requestUrl = new URL(request.url);
253
299
  const code = requestUrl.searchParams.get("code");
254
300
  const shouldHandleCode = options.shouldHandleCode === undefined
@@ -271,37 +317,38 @@ export function server(options) {
271
317
  if (result.tokens === undefined) {
272
318
  throw new Error("Invalid `auth:signIn` result for code exchange");
273
319
  }
274
- const response = Response.redirect(redirectUrl.toString(), 302);
275
320
  return {
276
- response: attachCookies(response, serializeAuthCookies({
321
+ cookies: structuredAuthCookies({
277
322
  token: result.tokens?.token ?? null,
278
323
  refreshToken: result.tokens?.refreshToken ?? null,
279
324
  verifier: null,
280
- }, host, cookieConfig)),
325
+ }, host, cookieConfig),
326
+ redirect: redirectUrl.toString(),
327
+ token: result.tokens?.token ?? null,
281
328
  };
282
329
  }
283
330
  catch (error) {
284
331
  console.error(error);
285
- const response = Response.redirect(redirectUrl.toString(), 302);
286
332
  return {
287
- response: attachCookies(response, serializeAuthCookies({
288
- token: null,
289
- refreshToken: null,
290
- verifier: null,
291
- }, host, cookieConfig)),
333
+ cookies: structuredAuthCookies({ token: null, refreshToken: null, verifier: null }, host, cookieConfig),
334
+ redirect: redirectUrl.toString(),
335
+ token: null,
292
336
  };
293
337
  }
294
338
  }
339
+ // Normal page load — refresh tokens if needed.
295
340
  const tokens = await refreshTokens(request);
296
341
  if (tokens === undefined) {
297
- return {};
342
+ // No refresh needed — return current token for hydration.
343
+ return { cookies: [], token: currentToken };
298
344
  }
299
345
  return {
300
- cookies: serializeAuthCookies({
346
+ cookies: structuredAuthCookies({
301
347
  token: tokens?.token ?? null,
302
348
  refreshToken: tokens?.refreshToken ?? null,
303
349
  verifier: null,
304
350
  }, host, cookieConfig),
351
+ token: tokens?.token ?? null,
305
352
  };
306
353
  },
307
354
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Styled dark-theme magic link email template for the Convex Auth Portal.
3
+ *
4
+ * Matches the portal's design system:
5
+ * - Background: #1e1c1a (body), #2a2825 (card)
6
+ * - Accent: #63a8f8 (Convex blue)
7
+ * - Text: #ffffff (headings), #b9b1aa (secondary), #8f8780 (muted)
8
+ * - Border: #4a4743
9
+ *
10
+ * @module
11
+ */
12
+ /**
13
+ * Generate the styled magic link email HTML.
14
+ *
15
+ * @param url - The magic link URL the user clicks to sign in.
16
+ * @param expiresInHours - How long the link is valid (shown in the email).
17
+ */
18
+ export declare function portalMagicLinkEmail(url: string, expiresInHours?: number): string;
19
+ //# sourceMappingURL=portal-email.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal-email.d.ts","sourceRoot":"","sources":["../../src/server/portal-email.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,cAAc,GAAE,MAAW,GAC1B,MAAM,CAuER"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Styled dark-theme magic link email template for the Convex Auth Portal.
3
+ *
4
+ * Matches the portal's design system:
5
+ * - Background: #1e1c1a (body), #2a2825 (card)
6
+ * - Accent: #63a8f8 (Convex blue)
7
+ * - Text: #ffffff (headings), #b9b1aa (secondary), #8f8780 (muted)
8
+ * - Border: #4a4743
9
+ *
10
+ * @module
11
+ */
12
+ const SHIELD_SVG = `<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="#63a8f8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"/></svg>`;
13
+ /**
14
+ * Generate the styled magic link email HTML.
15
+ *
16
+ * @param url - The magic link URL the user clicks to sign in.
17
+ * @param expiresInHours - How long the link is valid (shown in the email).
18
+ */
19
+ export function portalMagicLinkEmail(url, expiresInHours = 24) {
20
+ const expiryText = expiresInHours >= 24
21
+ ? `${Math.floor(expiresInHours / 24)} day${Math.floor(expiresInHours / 24) > 1 ? "s" : ""}`
22
+ : `${expiresInHours} hour${expiresInHours > 1 ? "s" : ""}`;
23
+ return `<!DOCTYPE html>
24
+ <html lang="en">
25
+ <head>
26
+ <meta charset="utf-8" />
27
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
28
+ <meta name="color-scheme" content="dark" />
29
+ <meta name="supported-color-schemes" content="dark" />
30
+ <title>Sign in to Convex Auth Portal</title>
31
+ </head>
32
+ <body style="margin:0;padding:0;background-color:#1e1c1a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;">
33
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background-color:#1e1c1a;padding:40px 16px;">
34
+ <tr>
35
+ <td align="center">
36
+ <table role="presentation" width="480" cellpadding="0" cellspacing="0" style="background-color:#2a2825;border:1px solid #4a4743;border-radius:8px;overflow:hidden;">
37
+ <!-- Header -->
38
+ <tr>
39
+ <td style="padding:32px 32px 0 32px;text-align:center;">
40
+ ${SHIELD_SVG}
41
+ <h1 style="margin:16px 0 0 0;font-size:20px;font-weight:600;color:#ffffff;line-height:1.3;">
42
+ Convex Auth Portal
43
+ </h1>
44
+ </td>
45
+ </tr>
46
+
47
+ <!-- Body -->
48
+ <tr>
49
+ <td style="padding:24px 32px;">
50
+ <p style="margin:0 0 20px 0;font-size:15px;line-height:1.6;color:#b9b1aa;">
51
+ Click the button below to sign in to the admin portal. This link will expire in ${expiryText}.
52
+ </p>
53
+
54
+ <!-- CTA Button -->
55
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0">
56
+ <tr>
57
+ <td align="center" style="padding:8px 0 24px 0;">
58
+ <a href="${url}" target="_blank" style="display:inline-block;background-color:#63a8f8;color:#0a0a0b;font-size:15px;font-weight:600;text-decoration:none;padding:12px 32px;border-radius:6px;line-height:1;">
59
+ Sign in to Portal
60
+ </a>
61
+ </td>
62
+ </tr>
63
+ </table>
64
+
65
+ <p style="margin:0 0 16px 0;font-size:13px;line-height:1.6;color:#8f8780;">
66
+ If the button doesn't work, copy and paste this URL into your browser:
67
+ </p>
68
+ <p style="margin:0;font-size:13px;line-height:1.5;color:#63a8f8;word-break:break-all;">
69
+ ${url}
70
+ </p>
71
+ </td>
72
+ </tr>
73
+
74
+ <!-- Footer -->
75
+ <tr>
76
+ <td style="padding:20px 32px;border-top:1px solid #4a4743;">
77
+ <p style="margin:0;font-size:12px;line-height:1.5;color:#8f8780;text-align:center;">
78
+ If you didn't request this email, you can safely ignore it.
79
+ </p>
80
+ </td>
81
+ </tr>
82
+ </table>
83
+ </td>
84
+ </tr>
85
+ </table>
86
+ </body>
87
+ </html>`;
88
+ }
89
+ //# sourceMappingURL=portal-email.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal-email.js","sourceRoot":"","sources":["../../src/server/portal-email.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,UAAU,GAAG,sWAAsW,CAAC;AAE1X;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAW,EACX,iBAAyB,EAAE;IAE3B,MAAM,UAAU,GACd,cAAc,IAAI,EAAE;QAClB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3F,CAAC,CAAC,GAAG,cAAc,QAAQ,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAE/D,OAAO;;;;;;;;;;;;;;;;;gBAiBO,UAAU;;;;;;;;;;;kGAWwE,UAAU;;;;;;;+BAO7E,GAAG;;;;;;;;;;;kBAWhB,GAAG;;;;;;;;;;;;;;;;;;QAkBb,CAAC;AACT,CAAC"}
@@ -6,7 +6,7 @@ import { AuthProviderConfig, AuthProviderMaterializedConfig, ConvexAuthConfig }
6
6
  export declare function configDefaults(config_: ConvexAuthConfig): {
7
7
  extraProviders: AuthProviderMaterializedConfig[];
8
8
  theme: import("@auth/core/types.js").Theme;
9
- providers: (OIDCConfig<any> | OAuth2Config<any> | import("./types.js").ConvexCredentialsConfig | import("./types.js").EmailConfig<import("convex/server").GenericDataModel> | import("./types.js").PhoneConfig<import("convex/server").GenericDataModel>)[];
9
+ providers: (OIDCConfig<any> | OAuth2Config<any> | import("./types.js").ConvexCredentialsConfig | import("./types.js").PasskeyProviderConfig | import("./types.js").TotpProviderConfig | import("./types.js").EmailConfig<import("convex/server").GenericDataModel> | import("./types.js").PhoneConfig<import("convex/server").GenericDataModel>)[];
10
10
  component: import("./types.js").AuthComponentApi;
11
11
  session?: {
12
12
  totalDurationMs?: number;
@@ -18,6 +18,8 @@ export declare function configDefaults(config_: ConvexAuthConfig): {
18
18
  signIn?: {
19
19
  maxFailedAttempsPerHour?: number;
20
20
  };
21
+ apiKeys?: import("./types.js").ApiKeyConfig;
22
+ email?: import("./types.js").EmailTransport;
21
23
  callbacks?: {
22
24
  redirect?: (params: {
23
25
  redirectTo: string;