@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
@@ -8,6 +8,7 @@ import { LOG_LEVELS, TOKEN_SUB_CLAIM_DIVIDER, logError, logWithLevel, } from "./
8
8
  import { callCreateAccountFromCredentials, callInvalidateSessions, callModifyAccount, callRetreiveAccountWithCredentials, callSignOut, callUserOAuth, callVerifierSignature, storeArgs, storeImpl, } from "./mutations/index.js";
9
9
  import { signInImpl } from "./signIn.js";
10
10
  import { redirectAbsoluteUrl, setURLSearchParam } from "./redirects.js";
11
+ import { generateApiKey, hashApiKey, buildScopeChecker, validateScopes, checkKeyRateLimit, } from "./apiKey.js";
11
12
  import { getAuthorizationUrl } from "../oauth/authorizationUrl.js";
12
13
  import { defaultCookiesOptions, oAuthConfigToInternalProvider, } from "../oauth/convexAuth.js";
13
14
  import { handleOAuth } from "../oauth/callback.js";
@@ -294,12 +295,15 @@ export function Auth(config_) {
294
295
  * Create a new invitation.
295
296
  *
296
297
  * @param data.groupId - Optional group to invite the user into.
297
- * @param data.invitedByUserId - The user sending the invitation.
298
- * @param data.email - The email address of the invitee.
298
+ * @param data.invitedByUserId - Optional user sending the invitation
299
+ * (omit for CLI-generated invites).
300
+ * @param data.email - Optional email of the invitee (omit for
301
+ * CLI-generated invite links where the email is unknown upfront).
299
302
  * @param data.tokenHash - Hashed token for secure acceptance.
300
303
  * @param data.role - Optional role to assign on acceptance.
301
304
  * @param data.status - Initial status (typically "pending").
302
- * @param data.expiresTime - Timestamp when the invite expires.
305
+ * @param data.expiresTime - Optional expiration timestamp (omit for
306
+ * single-use, non-expiring invites).
303
307
  * @param data.extend - Optional arbitrary JSON extension data.
304
308
  * @throws ConvexError with code `DUPLICATE_INVITE` if a pending invite
305
309
  * already exists for this email and scope.
@@ -314,6 +318,12 @@ export function Auth(config_) {
314
318
  get: async (ctx, inviteId) => {
315
319
  return await ctx.runQuery(config.component.public.inviteGet, { inviteId });
316
320
  },
321
+ /**
322
+ * Retrieve an invite by its token hash. Returns `null` if not found.
323
+ */
324
+ getByTokenHash: async (ctx, tokenHash) => {
325
+ return await ctx.runQuery(config.component.public.inviteGetByTokenHash, { tokenHash });
326
+ },
317
327
  /**
318
328
  * List invites, optionally filtered by group and/or status.
319
329
  */
@@ -354,8 +364,11 @@ export function Auth(config_) {
354
364
  * });
355
365
  * ```
356
366
  */
357
- accept: async (ctx, inviteId) => {
358
- await ctx.runMutation(config.component.public.inviteAccept, { inviteId });
367
+ accept: async (ctx, inviteId, acceptedByUserId) => {
368
+ await ctx.runMutation(config.component.public.inviteAccept, {
369
+ inviteId,
370
+ ...(acceptedByUserId ? { acceptedByUserId } : {}),
371
+ });
359
372
  },
360
373
  /**
361
374
  * Revoke a pending invitation.
@@ -369,6 +382,202 @@ export function Auth(config_) {
369
382
  await ctx.runMutation(config.component.public.inviteRevoke, { inviteId });
370
383
  },
371
384
  },
385
+ /**
386
+ * Manage passkey credentials for users.
387
+ *
388
+ * ```ts
389
+ * const passkeys = await auth.passkey.list(ctx, { userId });
390
+ * await auth.passkey.rename(ctx, passkeyId, "MacBook Touch ID");
391
+ * await auth.passkey.remove(ctx, passkeyId);
392
+ * ```
393
+ */
394
+ passkey: {
395
+ /**
396
+ * List all passkeys for a user.
397
+ *
398
+ * @param opts.userId - The user whose passkeys to list.
399
+ * @returns Array of passkey records with credentialId, name, deviceType,
400
+ * backedUp, createdAt, and lastUsedAt.
401
+ */
402
+ list: async (ctx, opts) => {
403
+ return await ctx.runQuery(config.component.public.passkeyListByUserId, opts);
404
+ },
405
+ /**
406
+ * Rename a passkey (set a user-friendly display name).
407
+ *
408
+ * @param passkeyId - The passkey document ID.
409
+ * @param name - New display name (e.g. "MacBook Touch ID").
410
+ */
411
+ rename: async (ctx, passkeyId, name) => {
412
+ await ctx.runMutation(config.component.public.passkeyUpdateMeta, { passkeyId, data: { name } });
413
+ },
414
+ /**
415
+ * Delete a passkey credential.
416
+ *
417
+ * @param passkeyId - The passkey document ID to remove.
418
+ */
419
+ remove: async (ctx, passkeyId) => {
420
+ await ctx.runMutation(config.component.public.passkeyDelete, { passkeyId });
421
+ },
422
+ },
423
+ /**
424
+ * Manage TOTP two-factor authentication enrollments for users.
425
+ *
426
+ * ```ts
427
+ * const enrollments = await auth.totp.list(ctx, { userId });
428
+ * await auth.totp.remove(ctx, totpId);
429
+ * ```
430
+ */
431
+ totp: {
432
+ /**
433
+ * List all TOTP enrollments for a user.
434
+ *
435
+ * @param opts.userId - The user whose enrollments to list.
436
+ * @returns Array of TOTP enrollment records.
437
+ */
438
+ list: async (ctx, opts) => {
439
+ return await ctx.runQuery(config.component.public.totpListByUserId, opts);
440
+ },
441
+ /**
442
+ * Delete a TOTP enrollment.
443
+ *
444
+ * @param totpId - The TOTP document ID to remove.
445
+ */
446
+ remove: async (ctx, totpId) => {
447
+ await ctx.runMutation(config.component.public.totpDelete, { totpId });
448
+ },
449
+ },
450
+ /**
451
+ * Manage API keys for programmatic access.
452
+ *
453
+ * Keys use SHA-256 hashing (via `@oslojs/crypto`) and support
454
+ * scoped resource:action permissions with optional per-key rate limiting.
455
+ *
456
+ * ```ts
457
+ * const { keyId, raw } = await auth.key.create(ctx, {
458
+ * userId,
459
+ * name: "CI Pipeline",
460
+ * scopes: [{ resource: "users", actions: ["read", "list"] }],
461
+ * });
462
+ * // raw = "sk_live_abc123..." — show once, never stored
463
+ *
464
+ * const result = await auth.key.verify(ctx, rawKey);
465
+ * result.scopes.can("users", "read"); // true
466
+ * ```
467
+ */
468
+ key: {
469
+ /**
470
+ * Create a new API key. Returns the raw key **once** — it cannot
471
+ * be retrieved again after creation.
472
+ *
473
+ * @param opts.userId - The user this key belongs to.
474
+ * @param opts.name - Human-readable name (e.g. "CI Pipeline").
475
+ * @param opts.scopes - Resource:action permissions for this key.
476
+ * @param opts.rateLimit - Optional per-key rate limit override.
477
+ * @param opts.expiresAt - Optional expiration timestamp.
478
+ * @returns `{ keyId, raw }` where `raw` is the full key string.
479
+ */
480
+ create: async (ctx, opts) => {
481
+ const prefix = config.apiKeys?.prefix ?? "sk_live_";
482
+ // Validate scopes against config if defined
483
+ validateScopes(opts.scopes, config.apiKeys?.scopes);
484
+ const { raw, hashedKey, displayPrefix } = await generateApiKey(prefix);
485
+ const keyId = await ctx.runMutation(config.component.public.keyInsert, {
486
+ userId: opts.userId,
487
+ prefix: displayPrefix,
488
+ hashedKey,
489
+ name: opts.name,
490
+ scopes: opts.scopes,
491
+ rateLimit: opts.rateLimit ?? config.apiKeys?.defaultRateLimit,
492
+ expiresAt: opts.expiresAt,
493
+ });
494
+ return { keyId: keyId, raw };
495
+ },
496
+ /**
497
+ * Verify a raw API key string. Returns the userId and a scope checker
498
+ * if the key is valid, not revoked, not expired, and not rate-limited.
499
+ *
500
+ * Also updates `lastUsedAt` and rate limit state as a side effect.
501
+ *
502
+ * @throws Error if the key is invalid, revoked, expired, or rate-limited.
503
+ */
504
+ verify: async (ctx, rawKey) => {
505
+ const hashedKey = await hashApiKey(rawKey);
506
+ const key = await ctx.runQuery(config.component.public.keyGetByHashedKey, { hashedKey });
507
+ if (!key) {
508
+ throw new Error("Invalid API key");
509
+ }
510
+ if (key.revoked) {
511
+ throw new Error("API key has been revoked");
512
+ }
513
+ if (key.expiresAt && key.expiresAt < Date.now()) {
514
+ throw new Error("API key has expired");
515
+ }
516
+ // Check per-key rate limit
517
+ const patchData = { lastUsedAt: Date.now() };
518
+ if (key.rateLimit) {
519
+ const { limited, newState } = checkKeyRateLimit(key.rateLimit, key.rateLimitState ?? undefined);
520
+ if (limited) {
521
+ throw new Error("API key rate limit exceeded");
522
+ }
523
+ patchData.rateLimitState = newState;
524
+ }
525
+ // Update lastUsedAt (and rate limit state if applicable)
526
+ await ctx.runMutation(config.component.public.keyPatch, {
527
+ keyId: key._id,
528
+ data: patchData,
529
+ });
530
+ return {
531
+ userId: key.userId,
532
+ keyId: key._id,
533
+ scopes: buildScopeChecker(key.scopes),
534
+ };
535
+ },
536
+ /**
537
+ * List all API keys for a user.
538
+ * Never includes the raw key — only the display prefix.
539
+ */
540
+ list: async (ctx, opts) => {
541
+ return await ctx.runQuery(config.component.public.keyListByUserId, { userId: opts.userId });
542
+ },
543
+ /**
544
+ * Get a single API key by its document ID.
545
+ * Returns `null` if not found.
546
+ */
547
+ get: async (ctx, keyId) => {
548
+ return await ctx.runQuery(config.component.public.keyGetById, { keyId: keyId });
549
+ },
550
+ /**
551
+ * Update an API key's metadata (name, scopes, rate limit).
552
+ */
553
+ update: async (ctx, keyId, data) => {
554
+ if (data.scopes) {
555
+ validateScopes(data.scopes, config.apiKeys?.scopes);
556
+ }
557
+ await ctx.runMutation(config.component.public.keyPatch, {
558
+ keyId: keyId,
559
+ data,
560
+ });
561
+ },
562
+ /**
563
+ * Revoke an API key (soft delete). The key record is preserved
564
+ * for audit purposes but can no longer be used for authentication.
565
+ */
566
+ revoke: async (ctx, keyId) => {
567
+ await ctx.runMutation(config.component.public.keyPatch, {
568
+ keyId: keyId,
569
+ data: { revoked: true },
570
+ });
571
+ },
572
+ /**
573
+ * Hard delete an API key record.
574
+ */
575
+ remove: async (ctx, keyId) => {
576
+ await ctx.runMutation(config.component.public.keyDelete, {
577
+ keyId: keyId,
578
+ });
579
+ },
580
+ },
372
581
  /**
373
582
  * Add HTTP actions for JWT verification and OAuth sign-in.
374
583
  *
@@ -572,6 +781,12 @@ export function Auth(config_) {
572
781
  return { tokens: result.signedIn?.tokens ?? null };
573
782
  case "started":
574
783
  return { started: true };
784
+ case "passkeyOptions":
785
+ return { options: result.options, verifier: result.verifier };
786
+ case "totpRequired":
787
+ return { totpRequired: true, verifier: result.verifier };
788
+ case "totpSetup":
789
+ return { totpSetup: { uri: result.uri, secret: result.secret, totpId: result.totpId }, verifier: result.verifier };
575
790
  default: {
576
791
  const _typecheck = result;
577
792
  throw new Error(`Unexpected result from signIn, ${result}`);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/implementation/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/implementation/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Server-side WebAuthn ceremony logic for passkey authentication.
3
+ *
4
+ * Handles the four phases of the WebAuthn flow:
5
+ * 1. register-options — generate PublicKeyCredentialCreationOptions
6
+ * 2. register-verify — verify attestation and store credential
7
+ * 3. auth-options — generate PublicKeyCredentialRequestOptions
8
+ * 4. auth-verify — verify assertion signature and sign in
9
+ *
10
+ * Uses `@oslojs/webauthn` for attestation/assertion parsing and
11
+ * `@oslojs/crypto` for signature verification.
12
+ */
13
+ import { PasskeyProviderConfig, GenericActionCtxWithAuthConfig } from "../types.js";
14
+ import { AuthDataModel, SessionInfo } from "./types.js";
15
+ type EnrichedActionCtx = GenericActionCtxWithAuthConfig<AuthDataModel>;
16
+ /**
17
+ * Main passkey handler dispatched from signIn.ts.
18
+ *
19
+ * Routes to the appropriate phase based on `params.flow`.
20
+ */
21
+ export declare function handlePasskey(ctx: EnrichedActionCtx, provider: PasskeyProviderConfig, args: {
22
+ params?: Record<string, any>;
23
+ verifier?: string;
24
+ }): Promise<{
25
+ kind: "signedIn";
26
+ signedIn: SessionInfo | null;
27
+ } | {
28
+ kind: "passkeyOptions";
29
+ options: Record<string, any>;
30
+ verifier: string;
31
+ }>;
32
+ export {};
33
+ //# sourceMappingURL=passkey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passkey.d.ts","sourceRoot":"","sources":["../../../src/server/implementation/passkey.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA+BH,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMxD,KAAK,iBAAiB,GAAG,8BAA8B,CAAC,aAAa,CAAC,CAAC;AA+hBvE;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,qBAAqB,EAC/B,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;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAC7E,CAsBA"}