@memberjunction/server 5.39.0 → 5.40.1
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/auth/index.js +1 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/magicLink/MagicLinkKeys.d.ts +58 -0
- package/dist/auth/magicLink/MagicLinkKeys.d.ts.map +1 -0
- package/dist/auth/magicLink/MagicLinkKeys.js +99 -0
- package/dist/auth/magicLink/MagicLinkKeys.js.map +1 -0
- package/dist/auth/magicLink/MagicLinkRouter.d.ts +33 -0
- package/dist/auth/magicLink/MagicLinkRouter.d.ts.map +1 -0
- package/dist/auth/magicLink/MagicLinkRouter.js +184 -0
- package/dist/auth/magicLink/MagicLinkRouter.js.map +1 -0
- package/dist/auth/magicLink/MagicLinkService.d.ts +123 -0
- package/dist/auth/magicLink/MagicLinkService.d.ts.map +1 -0
- package/dist/auth/magicLink/MagicLinkService.js +605 -0
- package/dist/auth/magicLink/MagicLinkService.js.map +1 -0
- package/dist/auth/magicLink/index.d.ts +6 -0
- package/dist/auth/magicLink/index.d.ts.map +1 -0
- package/dist/auth/magicLink/index.js +6 -0
- package/dist/auth/magicLink/index.js.map +1 -0
- package/dist/auth/magicLink/magicLinkCore.d.ts +82 -0
- package/dist/auth/magicLink/magicLinkCore.d.ts.map +1 -0
- package/dist/auth/magicLink/magicLinkCore.js +164 -0
- package/dist/auth/magicLink/magicLinkCore.js.map +1 -0
- package/dist/auth/magicLink/redeemLanding.d.ts +22 -0
- package/dist/auth/magicLink/redeemLanding.d.ts.map +1 -0
- package/dist/auth/magicLink/redeemLanding.js +61 -0
- package/dist/auth/magicLink/redeemLanding.js.map +1 -0
- package/dist/auth/magicLink/types.d.ts +131 -0
- package/dist/auth/magicLink/types.d.ts.map +1 -0
- package/dist/auth/magicLink/types.js +6 -0
- package/dist/auth/magicLink/types.js.map +1 -0
- package/dist/config.d.ts +411 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +60 -0
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +225 -2
- package/dist/context.js.map +1 -1
- package/dist/generated/generated.d.ts +877 -4
- package/dist/generated/generated.d.ts.map +1 -1
- package/dist/generated/generated.js +17779 -12750
- package/dist/generated/generated.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +35 -7
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -1
- package/dist/resolvers/CurrentUserContextResolver.d.ts +9 -3
- package/dist/resolvers/CurrentUserContextResolver.d.ts.map +1 -1
- package/dist/resolvers/CurrentUserContextResolver.js +19 -5
- package/dist/resolvers/CurrentUserContextResolver.js.map +1 -1
- package/dist/resolvers/EntityResolver.d.ts.map +1 -1
- package/dist/resolvers/EntityResolver.js +13 -2
- package/dist/resolvers/EntityResolver.js.map +1 -1
- package/dist/resolvers/GenerateSeedTaxonomyResolver.d.ts +28 -0
- package/dist/resolvers/GenerateSeedTaxonomyResolver.d.ts.map +1 -0
- package/dist/resolvers/GenerateSeedTaxonomyResolver.js +100 -0
- package/dist/resolvers/GenerateSeedTaxonomyResolver.js.map +1 -0
- package/dist/resolvers/RunClusterAnalysisResolver.d.ts +74 -0
- package/dist/resolvers/RunClusterAnalysisResolver.d.ts.map +1 -0
- package/dist/resolvers/RunClusterAnalysisResolver.js +243 -0
- package/dist/resolvers/RunClusterAnalysisResolver.js.map +1 -0
- package/dist/resolvers/UserResolver.d.ts +16 -2
- package/dist/resolvers/UserResolver.d.ts.map +1 -1
- package/dist/resolvers/UserResolver.js +45 -2
- package/dist/resolvers/UserResolver.js.map +1 -1
- package/dist/rest/SignatureWebhookHandler.d.ts +19 -0
- package/dist/rest/SignatureWebhookHandler.d.ts.map +1 -0
- package/dist/rest/SignatureWebhookHandler.js +86 -0
- package/dist/rest/SignatureWebhookHandler.js.map +1 -0
- package/package.json +75 -71
- package/src/__tests__/magicLink.test.ts +387 -0
- package/src/auth/index.ts +2 -2
- package/src/auth/magicLink/MagicLinkKeys.ts +122 -0
- package/src/auth/magicLink/MagicLinkRouter.ts +209 -0
- package/src/auth/magicLink/MagicLinkService.ts +724 -0
- package/src/auth/magicLink/index.ts +17 -0
- package/src/auth/magicLink/magicLinkCore.ts +216 -0
- package/src/auth/magicLink/redeemLanding.ts +62 -0
- package/src/auth/magicLink/types.ts +137 -0
- package/src/config.ts +62 -0
- package/src/context.ts +252 -3
- package/src/generated/generated.ts +12302 -8878
- package/src/generic/ResolverBase.ts +35 -7
- package/src/index.ts +28 -0
- package/src/resolvers/CurrentUserContextResolver.ts +21 -5
- package/src/resolvers/EntityResolver.ts +17 -5
- package/src/resolvers/GenerateSeedTaxonomyResolver.ts +90 -0
- package/src/resolvers/RunClusterAnalysisResolver.ts +249 -0
- package/src/resolvers/UserResolver.ts +38 -2
- package/src/rest/SignatureWebhookHandler.ts +103 -0
package/dist/config.d.ts
CHANGED
|
@@ -582,6 +582,181 @@ declare const feedbackSettingsSchema: z.ZodObject<{
|
|
|
582
582
|
assignees?: string[];
|
|
583
583
|
};
|
|
584
584
|
}>;
|
|
585
|
+
declare const magicLinkSchema: z.ZodObject<{
|
|
586
|
+
/** Master switch for the magic-link feature. When false, routes are not mounted and the auth provider is not registered. */
|
|
587
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
588
|
+
/**
|
|
589
|
+
* PEM-encoded RS256 private key used to sign session JWTs. May be raw PEM or
|
|
590
|
+
* base64-encoded PEM. If omitted, an ephemeral keypair is generated at startup
|
|
591
|
+
* (dev only — restarting the server invalidates all outstanding sessions).
|
|
592
|
+
*/
|
|
593
|
+
rsaPrivateKey: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
594
|
+
/** Hours an unredeemed invite link remains valid (hard expiry). Default 72. */
|
|
595
|
+
defaultExpiresInHours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
596
|
+
/** Hours the minted session JWT remains valid after redemption. No refresh tokens. Default 8. */
|
|
597
|
+
sessionTokenTtlHours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
598
|
+
/** Name of the restricted Role assigned to redeeming users when an invite does not specify one. */
|
|
599
|
+
restrictedRoleName: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
600
|
+
/**
|
|
601
|
+
* Role names (besides Owner) whose members may issue invites via POST /create.
|
|
602
|
+
* Empty (default) means Owner-only — the secure default. The restricted role
|
|
603
|
+
* must never be listed here, or external users could mint their own invites.
|
|
604
|
+
*/
|
|
605
|
+
inviteIssuerRoleNames: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
606
|
+
/**
|
|
607
|
+
* Role names an invite may grant, IN ADDITION to restrictedRoleName (which is
|
|
608
|
+
* always allowed). A caller-supplied roleId is rejected unless its role name is
|
|
609
|
+
* the restricted role or appears here. This is the guard that stops a caller
|
|
610
|
+
* from attaching a privileged role (e.g. Owner) to an external magic-link user.
|
|
611
|
+
*/
|
|
612
|
+
grantableRoleNames: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
613
|
+
/** Email of the internal user whose context provisions magic-link users (falls back to userHandling.contextUserForNewUserCreation). */
|
|
614
|
+
contextUserForProvisioning: z.ZodOptional<z.ZodString>;
|
|
615
|
+
/**
|
|
616
|
+
* Guard against bolting an external magic-link role/app onto an EXISTING account
|
|
617
|
+
* that is an Owner or already holds non-restricted ("real") roles. One mistyped
|
|
618
|
+
* recipient email is all it takes to hand a colleague an external role otherwise.
|
|
619
|
+
* `block` (default) refuses to provision onto such accounts; `warn` logs loudly
|
|
620
|
+
* and proceeds. Provisioning onto brand-new or already-external accounts is never
|
|
621
|
+
* affected.
|
|
622
|
+
*/
|
|
623
|
+
provisioningGuard: z.ZodDefault<z.ZodOptional<z.ZodEnum<["block", "warn"]>>>;
|
|
624
|
+
/** CommunicationEngine provider name used to deliver invite emails (e.g. 'SendGrid', 'Microsoft Graph'). When unset, emails are not sent and the redemption link is returned to the caller instead. */
|
|
625
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
626
|
+
/** From address for invite emails. */
|
|
627
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
628
|
+
/** Audience claim for minted JWTs and the auto-registered magic-link auth provider. */
|
|
629
|
+
audience: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
630
|
+
/** Rate-limit window (ms) for the public /redeem and authenticated /create endpoints. Default 60s. */
|
|
631
|
+
rateLimitWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
632
|
+
/** Max /redeem attempts per IP per window. Default 20. */
|
|
633
|
+
redeemRateLimitMax: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
634
|
+
/** Max /create requests per IP per window. Default 30. */
|
|
635
|
+
createRateLimitMax: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
636
|
+
/**
|
|
637
|
+
* Base URL of the Explorer instance that redeems land in. When set, GET
|
|
638
|
+
* /magic-link/redeem 302-redirects the browser to `${explorerUrl}/#token=<jwt>`
|
|
639
|
+
* (Explorer's magic-link auth provider reads the fragment). When unset, redeem
|
|
640
|
+
* returns the token as JSON. Append `?format=json` to force JSON regardless.
|
|
641
|
+
*/
|
|
642
|
+
explorerUrl: z.ZodOptional<z.ZodString>;
|
|
643
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
644
|
+
/** Master switch for the magic-link feature. When false, routes are not mounted and the auth provider is not registered. */
|
|
645
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
646
|
+
/**
|
|
647
|
+
* PEM-encoded RS256 private key used to sign session JWTs. May be raw PEM or
|
|
648
|
+
* base64-encoded PEM. If omitted, an ephemeral keypair is generated at startup
|
|
649
|
+
* (dev only — restarting the server invalidates all outstanding sessions).
|
|
650
|
+
*/
|
|
651
|
+
rsaPrivateKey: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
652
|
+
/** Hours an unredeemed invite link remains valid (hard expiry). Default 72. */
|
|
653
|
+
defaultExpiresInHours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
654
|
+
/** Hours the minted session JWT remains valid after redemption. No refresh tokens. Default 8. */
|
|
655
|
+
sessionTokenTtlHours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
656
|
+
/** Name of the restricted Role assigned to redeeming users when an invite does not specify one. */
|
|
657
|
+
restrictedRoleName: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
658
|
+
/**
|
|
659
|
+
* Role names (besides Owner) whose members may issue invites via POST /create.
|
|
660
|
+
* Empty (default) means Owner-only — the secure default. The restricted role
|
|
661
|
+
* must never be listed here, or external users could mint their own invites.
|
|
662
|
+
*/
|
|
663
|
+
inviteIssuerRoleNames: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
664
|
+
/**
|
|
665
|
+
* Role names an invite may grant, IN ADDITION to restrictedRoleName (which is
|
|
666
|
+
* always allowed). A caller-supplied roleId is rejected unless its role name is
|
|
667
|
+
* the restricted role or appears here. This is the guard that stops a caller
|
|
668
|
+
* from attaching a privileged role (e.g. Owner) to an external magic-link user.
|
|
669
|
+
*/
|
|
670
|
+
grantableRoleNames: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
671
|
+
/** Email of the internal user whose context provisions magic-link users (falls back to userHandling.contextUserForNewUserCreation). */
|
|
672
|
+
contextUserForProvisioning: z.ZodOptional<z.ZodString>;
|
|
673
|
+
/**
|
|
674
|
+
* Guard against bolting an external magic-link role/app onto an EXISTING account
|
|
675
|
+
* that is an Owner or already holds non-restricted ("real") roles. One mistyped
|
|
676
|
+
* recipient email is all it takes to hand a colleague an external role otherwise.
|
|
677
|
+
* `block` (default) refuses to provision onto such accounts; `warn` logs loudly
|
|
678
|
+
* and proceeds. Provisioning onto brand-new or already-external accounts is never
|
|
679
|
+
* affected.
|
|
680
|
+
*/
|
|
681
|
+
provisioningGuard: z.ZodDefault<z.ZodOptional<z.ZodEnum<["block", "warn"]>>>;
|
|
682
|
+
/** CommunicationEngine provider name used to deliver invite emails (e.g. 'SendGrid', 'Microsoft Graph'). When unset, emails are not sent and the redemption link is returned to the caller instead. */
|
|
683
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
684
|
+
/** From address for invite emails. */
|
|
685
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
686
|
+
/** Audience claim for minted JWTs and the auto-registered magic-link auth provider. */
|
|
687
|
+
audience: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
688
|
+
/** Rate-limit window (ms) for the public /redeem and authenticated /create endpoints. Default 60s. */
|
|
689
|
+
rateLimitWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
690
|
+
/** Max /redeem attempts per IP per window. Default 20. */
|
|
691
|
+
redeemRateLimitMax: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
692
|
+
/** Max /create requests per IP per window. Default 30. */
|
|
693
|
+
createRateLimitMax: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
694
|
+
/**
|
|
695
|
+
* Base URL of the Explorer instance that redeems land in. When set, GET
|
|
696
|
+
* /magic-link/redeem 302-redirects the browser to `${explorerUrl}/#token=<jwt>`
|
|
697
|
+
* (Explorer's magic-link auth provider reads the fragment). When unset, redeem
|
|
698
|
+
* returns the token as JSON. Append `?format=json` to force JSON regardless.
|
|
699
|
+
*/
|
|
700
|
+
explorerUrl: z.ZodOptional<z.ZodString>;
|
|
701
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
702
|
+
/** Master switch for the magic-link feature. When false, routes are not mounted and the auth provider is not registered. */
|
|
703
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
704
|
+
/**
|
|
705
|
+
* PEM-encoded RS256 private key used to sign session JWTs. May be raw PEM or
|
|
706
|
+
* base64-encoded PEM. If omitted, an ephemeral keypair is generated at startup
|
|
707
|
+
* (dev only — restarting the server invalidates all outstanding sessions).
|
|
708
|
+
*/
|
|
709
|
+
rsaPrivateKey: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
710
|
+
/** Hours an unredeemed invite link remains valid (hard expiry). Default 72. */
|
|
711
|
+
defaultExpiresInHours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
712
|
+
/** Hours the minted session JWT remains valid after redemption. No refresh tokens. Default 8. */
|
|
713
|
+
sessionTokenTtlHours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
714
|
+
/** Name of the restricted Role assigned to redeeming users when an invite does not specify one. */
|
|
715
|
+
restrictedRoleName: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
716
|
+
/**
|
|
717
|
+
* Role names (besides Owner) whose members may issue invites via POST /create.
|
|
718
|
+
* Empty (default) means Owner-only — the secure default. The restricted role
|
|
719
|
+
* must never be listed here, or external users could mint their own invites.
|
|
720
|
+
*/
|
|
721
|
+
inviteIssuerRoleNames: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
722
|
+
/**
|
|
723
|
+
* Role names an invite may grant, IN ADDITION to restrictedRoleName (which is
|
|
724
|
+
* always allowed). A caller-supplied roleId is rejected unless its role name is
|
|
725
|
+
* the restricted role or appears here. This is the guard that stops a caller
|
|
726
|
+
* from attaching a privileged role (e.g. Owner) to an external magic-link user.
|
|
727
|
+
*/
|
|
728
|
+
grantableRoleNames: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
729
|
+
/** Email of the internal user whose context provisions magic-link users (falls back to userHandling.contextUserForNewUserCreation). */
|
|
730
|
+
contextUserForProvisioning: z.ZodOptional<z.ZodString>;
|
|
731
|
+
/**
|
|
732
|
+
* Guard against bolting an external magic-link role/app onto an EXISTING account
|
|
733
|
+
* that is an Owner or already holds non-restricted ("real") roles. One mistyped
|
|
734
|
+
* recipient email is all it takes to hand a colleague an external role otherwise.
|
|
735
|
+
* `block` (default) refuses to provision onto such accounts; `warn` logs loudly
|
|
736
|
+
* and proceeds. Provisioning onto brand-new or already-external accounts is never
|
|
737
|
+
* affected.
|
|
738
|
+
*/
|
|
739
|
+
provisioningGuard: z.ZodDefault<z.ZodOptional<z.ZodEnum<["block", "warn"]>>>;
|
|
740
|
+
/** CommunicationEngine provider name used to deliver invite emails (e.g. 'SendGrid', 'Microsoft Graph'). When unset, emails are not sent and the redemption link is returned to the caller instead. */
|
|
741
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
742
|
+
/** From address for invite emails. */
|
|
743
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
744
|
+
/** Audience claim for minted JWTs and the auto-registered magic-link auth provider. */
|
|
745
|
+
audience: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
746
|
+
/** Rate-limit window (ms) for the public /redeem and authenticated /create endpoints. Default 60s. */
|
|
747
|
+
rateLimitWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
748
|
+
/** Max /redeem attempts per IP per window. Default 20. */
|
|
749
|
+
redeemRateLimitMax: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
750
|
+
/** Max /create requests per IP per window. Default 30. */
|
|
751
|
+
createRateLimitMax: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
752
|
+
/**
|
|
753
|
+
* Base URL of the Explorer instance that redeems land in. When set, GET
|
|
754
|
+
* /magic-link/redeem 302-redirects the browser to `${explorerUrl}/#token=<jwt>`
|
|
755
|
+
* (Explorer's magic-link auth provider reads the fragment). When unset, redeem
|
|
756
|
+
* returns the token as JSON. Append `?format=json` to force JSON regardless.
|
|
757
|
+
*/
|
|
758
|
+
explorerUrl: z.ZodOptional<z.ZodString>;
|
|
759
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
585
760
|
declare const configInfoSchema: z.ZodObject<{
|
|
586
761
|
userHandling: z.ZodObject<{
|
|
587
762
|
autoCreateNewUsers: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
@@ -614,6 +789,181 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
614
789
|
CreateUserApplicationRecords?: boolean;
|
|
615
790
|
UserApplications?: string[];
|
|
616
791
|
}>;
|
|
792
|
+
magicLink: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
793
|
+
/** Master switch for the magic-link feature. When false, routes are not mounted and the auth provider is not registered. */
|
|
794
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
795
|
+
/**
|
|
796
|
+
* PEM-encoded RS256 private key used to sign session JWTs. May be raw PEM or
|
|
797
|
+
* base64-encoded PEM. If omitted, an ephemeral keypair is generated at startup
|
|
798
|
+
* (dev only — restarting the server invalidates all outstanding sessions).
|
|
799
|
+
*/
|
|
800
|
+
rsaPrivateKey: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
801
|
+
/** Hours an unredeemed invite link remains valid (hard expiry). Default 72. */
|
|
802
|
+
defaultExpiresInHours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
803
|
+
/** Hours the minted session JWT remains valid after redemption. No refresh tokens. Default 8. */
|
|
804
|
+
sessionTokenTtlHours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
805
|
+
/** Name of the restricted Role assigned to redeeming users when an invite does not specify one. */
|
|
806
|
+
restrictedRoleName: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
807
|
+
/**
|
|
808
|
+
* Role names (besides Owner) whose members may issue invites via POST /create.
|
|
809
|
+
* Empty (default) means Owner-only — the secure default. The restricted role
|
|
810
|
+
* must never be listed here, or external users could mint their own invites.
|
|
811
|
+
*/
|
|
812
|
+
inviteIssuerRoleNames: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
813
|
+
/**
|
|
814
|
+
* Role names an invite may grant, IN ADDITION to restrictedRoleName (which is
|
|
815
|
+
* always allowed). A caller-supplied roleId is rejected unless its role name is
|
|
816
|
+
* the restricted role or appears here. This is the guard that stops a caller
|
|
817
|
+
* from attaching a privileged role (e.g. Owner) to an external magic-link user.
|
|
818
|
+
*/
|
|
819
|
+
grantableRoleNames: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
820
|
+
/** Email of the internal user whose context provisions magic-link users (falls back to userHandling.contextUserForNewUserCreation). */
|
|
821
|
+
contextUserForProvisioning: z.ZodOptional<z.ZodString>;
|
|
822
|
+
/**
|
|
823
|
+
* Guard against bolting an external magic-link role/app onto an EXISTING account
|
|
824
|
+
* that is an Owner or already holds non-restricted ("real") roles. One mistyped
|
|
825
|
+
* recipient email is all it takes to hand a colleague an external role otherwise.
|
|
826
|
+
* `block` (default) refuses to provision onto such accounts; `warn` logs loudly
|
|
827
|
+
* and proceeds. Provisioning onto brand-new or already-external accounts is never
|
|
828
|
+
* affected.
|
|
829
|
+
*/
|
|
830
|
+
provisioningGuard: z.ZodDefault<z.ZodOptional<z.ZodEnum<["block", "warn"]>>>;
|
|
831
|
+
/** CommunicationEngine provider name used to deliver invite emails (e.g. 'SendGrid', 'Microsoft Graph'). When unset, emails are not sent and the redemption link is returned to the caller instead. */
|
|
832
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
833
|
+
/** From address for invite emails. */
|
|
834
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
835
|
+
/** Audience claim for minted JWTs and the auto-registered magic-link auth provider. */
|
|
836
|
+
audience: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
837
|
+
/** Rate-limit window (ms) for the public /redeem and authenticated /create endpoints. Default 60s. */
|
|
838
|
+
rateLimitWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
839
|
+
/** Max /redeem attempts per IP per window. Default 20. */
|
|
840
|
+
redeemRateLimitMax: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
841
|
+
/** Max /create requests per IP per window. Default 30. */
|
|
842
|
+
createRateLimitMax: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
843
|
+
/**
|
|
844
|
+
* Base URL of the Explorer instance that redeems land in. When set, GET
|
|
845
|
+
* /magic-link/redeem 302-redirects the browser to `${explorerUrl}/#token=<jwt>`
|
|
846
|
+
* (Explorer's magic-link auth provider reads the fragment). When unset, redeem
|
|
847
|
+
* returns the token as JSON. Append `?format=json` to force JSON regardless.
|
|
848
|
+
*/
|
|
849
|
+
explorerUrl: z.ZodOptional<z.ZodString>;
|
|
850
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
851
|
+
/** Master switch for the magic-link feature. When false, routes are not mounted and the auth provider is not registered. */
|
|
852
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
853
|
+
/**
|
|
854
|
+
* PEM-encoded RS256 private key used to sign session JWTs. May be raw PEM or
|
|
855
|
+
* base64-encoded PEM. If omitted, an ephemeral keypair is generated at startup
|
|
856
|
+
* (dev only — restarting the server invalidates all outstanding sessions).
|
|
857
|
+
*/
|
|
858
|
+
rsaPrivateKey: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
859
|
+
/** Hours an unredeemed invite link remains valid (hard expiry). Default 72. */
|
|
860
|
+
defaultExpiresInHours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
861
|
+
/** Hours the minted session JWT remains valid after redemption. No refresh tokens. Default 8. */
|
|
862
|
+
sessionTokenTtlHours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
863
|
+
/** Name of the restricted Role assigned to redeeming users when an invite does not specify one. */
|
|
864
|
+
restrictedRoleName: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
865
|
+
/**
|
|
866
|
+
* Role names (besides Owner) whose members may issue invites via POST /create.
|
|
867
|
+
* Empty (default) means Owner-only — the secure default. The restricted role
|
|
868
|
+
* must never be listed here, or external users could mint their own invites.
|
|
869
|
+
*/
|
|
870
|
+
inviteIssuerRoleNames: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
871
|
+
/**
|
|
872
|
+
* Role names an invite may grant, IN ADDITION to restrictedRoleName (which is
|
|
873
|
+
* always allowed). A caller-supplied roleId is rejected unless its role name is
|
|
874
|
+
* the restricted role or appears here. This is the guard that stops a caller
|
|
875
|
+
* from attaching a privileged role (e.g. Owner) to an external magic-link user.
|
|
876
|
+
*/
|
|
877
|
+
grantableRoleNames: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
878
|
+
/** Email of the internal user whose context provisions magic-link users (falls back to userHandling.contextUserForNewUserCreation). */
|
|
879
|
+
contextUserForProvisioning: z.ZodOptional<z.ZodString>;
|
|
880
|
+
/**
|
|
881
|
+
* Guard against bolting an external magic-link role/app onto an EXISTING account
|
|
882
|
+
* that is an Owner or already holds non-restricted ("real") roles. One mistyped
|
|
883
|
+
* recipient email is all it takes to hand a colleague an external role otherwise.
|
|
884
|
+
* `block` (default) refuses to provision onto such accounts; `warn` logs loudly
|
|
885
|
+
* and proceeds. Provisioning onto brand-new or already-external accounts is never
|
|
886
|
+
* affected.
|
|
887
|
+
*/
|
|
888
|
+
provisioningGuard: z.ZodDefault<z.ZodOptional<z.ZodEnum<["block", "warn"]>>>;
|
|
889
|
+
/** CommunicationEngine provider name used to deliver invite emails (e.g. 'SendGrid', 'Microsoft Graph'). When unset, emails are not sent and the redemption link is returned to the caller instead. */
|
|
890
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
891
|
+
/** From address for invite emails. */
|
|
892
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
893
|
+
/** Audience claim for minted JWTs and the auto-registered magic-link auth provider. */
|
|
894
|
+
audience: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
895
|
+
/** Rate-limit window (ms) for the public /redeem and authenticated /create endpoints. Default 60s. */
|
|
896
|
+
rateLimitWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
897
|
+
/** Max /redeem attempts per IP per window. Default 20. */
|
|
898
|
+
redeemRateLimitMax: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
899
|
+
/** Max /create requests per IP per window. Default 30. */
|
|
900
|
+
createRateLimitMax: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
901
|
+
/**
|
|
902
|
+
* Base URL of the Explorer instance that redeems land in. When set, GET
|
|
903
|
+
* /magic-link/redeem 302-redirects the browser to `${explorerUrl}/#token=<jwt>`
|
|
904
|
+
* (Explorer's magic-link auth provider reads the fragment). When unset, redeem
|
|
905
|
+
* returns the token as JSON. Append `?format=json` to force JSON regardless.
|
|
906
|
+
*/
|
|
907
|
+
explorerUrl: z.ZodOptional<z.ZodString>;
|
|
908
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
909
|
+
/** Master switch for the magic-link feature. When false, routes are not mounted and the auth provider is not registered. */
|
|
910
|
+
enabled: z.ZodDefault<z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString, z.ZodNumber]>>>, boolean, string | number | boolean>>;
|
|
911
|
+
/**
|
|
912
|
+
* PEM-encoded RS256 private key used to sign session JWTs. May be raw PEM or
|
|
913
|
+
* base64-encoded PEM. If omitted, an ephemeral keypair is generated at startup
|
|
914
|
+
* (dev only — restarting the server invalidates all outstanding sessions).
|
|
915
|
+
*/
|
|
916
|
+
rsaPrivateKey: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
917
|
+
/** Hours an unredeemed invite link remains valid (hard expiry). Default 72. */
|
|
918
|
+
defaultExpiresInHours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
919
|
+
/** Hours the minted session JWT remains valid after redemption. No refresh tokens. Default 8. */
|
|
920
|
+
sessionTokenTtlHours: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
921
|
+
/** Name of the restricted Role assigned to redeeming users when an invite does not specify one. */
|
|
922
|
+
restrictedRoleName: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
923
|
+
/**
|
|
924
|
+
* Role names (besides Owner) whose members may issue invites via POST /create.
|
|
925
|
+
* Empty (default) means Owner-only — the secure default. The restricted role
|
|
926
|
+
* must never be listed here, or external users could mint their own invites.
|
|
927
|
+
*/
|
|
928
|
+
inviteIssuerRoleNames: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
929
|
+
/**
|
|
930
|
+
* Role names an invite may grant, IN ADDITION to restrictedRoleName (which is
|
|
931
|
+
* always allowed). A caller-supplied roleId is rejected unless its role name is
|
|
932
|
+
* the restricted role or appears here. This is the guard that stops a caller
|
|
933
|
+
* from attaching a privileged role (e.g. Owner) to an external magic-link user.
|
|
934
|
+
*/
|
|
935
|
+
grantableRoleNames: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
|
|
936
|
+
/** Email of the internal user whose context provisions magic-link users (falls back to userHandling.contextUserForNewUserCreation). */
|
|
937
|
+
contextUserForProvisioning: z.ZodOptional<z.ZodString>;
|
|
938
|
+
/**
|
|
939
|
+
* Guard against bolting an external magic-link role/app onto an EXISTING account
|
|
940
|
+
* that is an Owner or already holds non-restricted ("real") roles. One mistyped
|
|
941
|
+
* recipient email is all it takes to hand a colleague an external role otherwise.
|
|
942
|
+
* `block` (default) refuses to provision onto such accounts; `warn` logs loudly
|
|
943
|
+
* and proceeds. Provisioning onto brand-new or already-external accounts is never
|
|
944
|
+
* affected.
|
|
945
|
+
*/
|
|
946
|
+
provisioningGuard: z.ZodDefault<z.ZodOptional<z.ZodEnum<["block", "warn"]>>>;
|
|
947
|
+
/** CommunicationEngine provider name used to deliver invite emails (e.g. 'SendGrid', 'Microsoft Graph'). When unset, emails are not sent and the redemption link is returned to the caller instead. */
|
|
948
|
+
communicationProvider: z.ZodOptional<z.ZodString>;
|
|
949
|
+
/** From address for invite emails. */
|
|
950
|
+
fromAddress: z.ZodOptional<z.ZodString>;
|
|
951
|
+
/** Audience claim for minted JWTs and the auto-registered magic-link auth provider. */
|
|
952
|
+
audience: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
953
|
+
/** Rate-limit window (ms) for the public /redeem and authenticated /create endpoints. Default 60s. */
|
|
954
|
+
rateLimitWindowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
955
|
+
/** Max /redeem attempts per IP per window. Default 20. */
|
|
956
|
+
redeemRateLimitMax: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
957
|
+
/** Max /create requests per IP per window. Default 30. */
|
|
958
|
+
createRateLimitMax: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
959
|
+
/**
|
|
960
|
+
* Base URL of the Explorer instance that redeems land in. When set, GET
|
|
961
|
+
* /magic-link/redeem 302-redirects the browser to `${explorerUrl}/#token=<jwt>`
|
|
962
|
+
* (Explorer's magic-link auth provider reads the fragment). When unset, redeem
|
|
963
|
+
* returns the token as JSON. Append `?format=json` to force JSON regardless.
|
|
964
|
+
*/
|
|
965
|
+
explorerUrl: z.ZodOptional<z.ZodString>;
|
|
966
|
+
}, z.ZodTypeAny, "passthrough">>>>;
|
|
617
967
|
databaseSettings: z.ZodObject<{
|
|
618
968
|
connectionTimeout: z.ZodNumber;
|
|
619
969
|
requestTimeout: z.ZodNumber;
|
|
@@ -1145,6 +1495,26 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
1145
1495
|
CreateUserApplicationRecords?: boolean;
|
|
1146
1496
|
UserApplications?: string[];
|
|
1147
1497
|
};
|
|
1498
|
+
magicLink?: {
|
|
1499
|
+
enabled?: boolean;
|
|
1500
|
+
audience?: string;
|
|
1501
|
+
rsaPrivateKey?: string;
|
|
1502
|
+
defaultExpiresInHours?: number;
|
|
1503
|
+
sessionTokenTtlHours?: number;
|
|
1504
|
+
restrictedRoleName?: string;
|
|
1505
|
+
inviteIssuerRoleNames?: string[];
|
|
1506
|
+
grantableRoleNames?: string[];
|
|
1507
|
+
contextUserForProvisioning?: string;
|
|
1508
|
+
provisioningGuard?: "block" | "warn";
|
|
1509
|
+
communicationProvider?: string;
|
|
1510
|
+
fromAddress?: string;
|
|
1511
|
+
rateLimitWindowMs?: number;
|
|
1512
|
+
redeemRateLimitMax?: number;
|
|
1513
|
+
createRateLimitMax?: number;
|
|
1514
|
+
explorerUrl?: string;
|
|
1515
|
+
} & {
|
|
1516
|
+
[k: string]: unknown;
|
|
1517
|
+
};
|
|
1148
1518
|
databaseSettings?: {
|
|
1149
1519
|
connectionTimeout?: number;
|
|
1150
1520
|
requestTimeout?: number;
|
|
@@ -1324,6 +1694,26 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
1324
1694
|
CreateUserApplicationRecords?: boolean;
|
|
1325
1695
|
UserApplications?: string[];
|
|
1326
1696
|
};
|
|
1697
|
+
magicLink?: {
|
|
1698
|
+
enabled?: string | number | boolean;
|
|
1699
|
+
audience?: string;
|
|
1700
|
+
rsaPrivateKey?: string;
|
|
1701
|
+
defaultExpiresInHours?: number;
|
|
1702
|
+
sessionTokenTtlHours?: number;
|
|
1703
|
+
restrictedRoleName?: string;
|
|
1704
|
+
inviteIssuerRoleNames?: string[];
|
|
1705
|
+
grantableRoleNames?: string[];
|
|
1706
|
+
contextUserForProvisioning?: string;
|
|
1707
|
+
provisioningGuard?: "block" | "warn";
|
|
1708
|
+
communicationProvider?: string;
|
|
1709
|
+
fromAddress?: string;
|
|
1710
|
+
rateLimitWindowMs?: number;
|
|
1711
|
+
redeemRateLimitMax?: number;
|
|
1712
|
+
createRateLimitMax?: number;
|
|
1713
|
+
explorerUrl?: string;
|
|
1714
|
+
} & {
|
|
1715
|
+
[k: string]: unknown;
|
|
1716
|
+
};
|
|
1327
1717
|
databaseSettings?: {
|
|
1328
1718
|
connectionTimeout?: number;
|
|
1329
1719
|
requestTimeout?: number;
|
|
@@ -1490,6 +1880,7 @@ declare const configInfoSchema: z.ZodObject<{
|
|
|
1490
1880
|
mjCoreSchema?: string;
|
|
1491
1881
|
}>;
|
|
1492
1882
|
export type UserHandlingInfo = z.infer<typeof userHandlingInfoSchema>;
|
|
1883
|
+
export type MagicLinkConfig = z.infer<typeof magicLinkSchema>;
|
|
1493
1884
|
export type DatabaseSettingsInfo = z.infer<typeof databaseSettingsInfoSchema>;
|
|
1494
1885
|
export type ViewingSystemSettingsInfo = z.infer<typeof viewingSystemInfoSchema>;
|
|
1495
1886
|
export type RESTApiOptions = z.infer<typeof restApiOptionsSchema>;
|
|
@@ -1544,6 +1935,26 @@ export declare function loadConfig(): {
|
|
|
1544
1935
|
CreateUserApplicationRecords?: boolean;
|
|
1545
1936
|
UserApplications?: string[];
|
|
1546
1937
|
};
|
|
1938
|
+
magicLink?: {
|
|
1939
|
+
enabled?: boolean;
|
|
1940
|
+
audience?: string;
|
|
1941
|
+
rsaPrivateKey?: string;
|
|
1942
|
+
defaultExpiresInHours?: number;
|
|
1943
|
+
sessionTokenTtlHours?: number;
|
|
1944
|
+
restrictedRoleName?: string;
|
|
1945
|
+
inviteIssuerRoleNames?: string[];
|
|
1946
|
+
grantableRoleNames?: string[];
|
|
1947
|
+
contextUserForProvisioning?: string;
|
|
1948
|
+
provisioningGuard?: "block" | "warn";
|
|
1949
|
+
communicationProvider?: string;
|
|
1950
|
+
fromAddress?: string;
|
|
1951
|
+
rateLimitWindowMs?: number;
|
|
1952
|
+
redeemRateLimitMax?: number;
|
|
1953
|
+
createRateLimitMax?: number;
|
|
1954
|
+
explorerUrl?: string;
|
|
1955
|
+
} & {
|
|
1956
|
+
[k: string]: unknown;
|
|
1957
|
+
};
|
|
1547
1958
|
databaseSettings?: {
|
|
1548
1959
|
connectionTimeout?: number;
|
|
1549
1960
|
requestTimeout?: number;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU1B,CAAC;AAEH,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY9B,CAAC;AAEH,QAAA,MAAM,uBAAuB;;;;;;EAE3B,CAAC;AAEH,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAMxB,CAAC;AA2BH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBrB,CAAC;AAEH,QAAA,MAAM,uBAAuB;;;;IAI3B;;;;;;OAMG;;;;;;;;;;;;;;;;;;;;;;;;EAMH,CAAC;AAEH,QAAA,MAAM,gBAAgB;;;;;;QAdpB;;;;;;WAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAeH,CAAC;AAEH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAUR,CAAC;AAEjB,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAab,CAAC;AAEjB,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAMvB,CAAC;AAEH,QAAA,MAAM,kBAAkB;IACtB,sGAAsG;;IAEtG,sFAAsF;;;;;;;;EAEtF,CAAC;AAEH,QAAA,MAAM,kBAAkB;IACtB,2EAA2E;;IAE3E,uDAAuD;;IAEvD,2DAA2D;;IAE3D,+EAA+E;;IAE/E,gFAAgF;;IAEhF,4EAA4E;;IAE5E,2DAA2D;;IAE3D,sFAAsF;;IAEtF,kDAAkD;;IAElD,mFAAmF;;;;;;;;;;;;;;;;;;;;;;;;EAEnF,CAAC;AAEH,QAAA,MAAM,eAAe;;;;;;;;;EAKnB,CAAC;AAEH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;gCAKX,CAAC;AAEjB,QAAA,MAAM,mBAAmB;IACvB,4HAA4H;;IAE5H,oHAAoH;;IAEpH,wFAAwF;;IAExF,+FAA+F;;IAE/F,8EAA8E;;;;;;;;;;;;;;EAE9E,CAAC;AAEH,QAAA,MAAM,qBAAqB;;QAEvB;;;;;;;;WAQG;;;;;;;;;;;;;;;EAGL,CAAC;AAEH,QAAA,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;EAOhC,CAAC;AAEH,QAAA,MAAM,sBAAsB;IAC1B,yFAAyF;;IAEzF,uEAAuE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEvE,CAAC;AAEH,QAAA,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -214,8 +214,68 @@ const feedbackSettingsSchema = z.object({
|
|
|
214
214
|
/** Optional GitHub-specific settings used by the feedback resolver. */
|
|
215
215
|
github: feedbackGithubSettingsSchema.optional(),
|
|
216
216
|
});
|
|
217
|
+
const magicLinkSchema = z.object({
|
|
218
|
+
/** Master switch for the magic-link feature. When false, routes are not mounted and the auth provider is not registered. */
|
|
219
|
+
enabled: zodBooleanWithTransforms().default(false),
|
|
220
|
+
/**
|
|
221
|
+
* PEM-encoded RS256 private key used to sign session JWTs. May be raw PEM or
|
|
222
|
+
* base64-encoded PEM. If omitted, an ephemeral keypair is generated at startup
|
|
223
|
+
* (dev only — restarting the server invalidates all outstanding sessions).
|
|
224
|
+
*/
|
|
225
|
+
rsaPrivateKey: z.string().optional().default(process.env.MJ_MAGIC_LINK_PRIVATE_KEY || ''),
|
|
226
|
+
/** Hours an unredeemed invite link remains valid (hard expiry). Default 72. */
|
|
227
|
+
defaultExpiresInHours: z.coerce.number().optional().default(72),
|
|
228
|
+
/** Hours the minted session JWT remains valid after redemption. No refresh tokens. Default 8. */
|
|
229
|
+
sessionTokenTtlHours: z.coerce.number().optional().default(8),
|
|
230
|
+
/** Name of the restricted Role assigned to redeeming users when an invite does not specify one. */
|
|
231
|
+
restrictedRoleName: z.string().optional().default('Magic Link Baseline'),
|
|
232
|
+
/**
|
|
233
|
+
* Role names (besides Owner) whose members may issue invites via POST /create.
|
|
234
|
+
* Empty (default) means Owner-only — the secure default. The restricted role
|
|
235
|
+
* must never be listed here, or external users could mint their own invites.
|
|
236
|
+
*/
|
|
237
|
+
inviteIssuerRoleNames: z.array(z.string()).optional().default([]),
|
|
238
|
+
/**
|
|
239
|
+
* Role names an invite may grant, IN ADDITION to restrictedRoleName (which is
|
|
240
|
+
* always allowed). A caller-supplied roleId is rejected unless its role name is
|
|
241
|
+
* the restricted role or appears here. This is the guard that stops a caller
|
|
242
|
+
* from attaching a privileged role (e.g. Owner) to an external magic-link user.
|
|
243
|
+
*/
|
|
244
|
+
grantableRoleNames: z.array(z.string()).optional().default([]),
|
|
245
|
+
/** Email of the internal user whose context provisions magic-link users (falls back to userHandling.contextUserForNewUserCreation). */
|
|
246
|
+
contextUserForProvisioning: z.string().optional(),
|
|
247
|
+
/**
|
|
248
|
+
* Guard against bolting an external magic-link role/app onto an EXISTING account
|
|
249
|
+
* that is an Owner or already holds non-restricted ("real") roles. One mistyped
|
|
250
|
+
* recipient email is all it takes to hand a colleague an external role otherwise.
|
|
251
|
+
* `block` (default) refuses to provision onto such accounts; `warn` logs loudly
|
|
252
|
+
* and proceeds. Provisioning onto brand-new or already-external accounts is never
|
|
253
|
+
* affected.
|
|
254
|
+
*/
|
|
255
|
+
provisioningGuard: z.enum(['block', 'warn']).optional().default('block'),
|
|
256
|
+
/** CommunicationEngine provider name used to deliver invite emails (e.g. 'SendGrid', 'Microsoft Graph'). When unset, emails are not sent and the redemption link is returned to the caller instead. */
|
|
257
|
+
communicationProvider: z.string().optional(),
|
|
258
|
+
/** From address for invite emails. */
|
|
259
|
+
fromAddress: z.string().optional(),
|
|
260
|
+
/** Audience claim for minted JWTs and the auto-registered magic-link auth provider. */
|
|
261
|
+
audience: z.string().optional().default('mj-magic-link'),
|
|
262
|
+
/** Rate-limit window (ms) for the public /redeem and authenticated /create endpoints. Default 60s. */
|
|
263
|
+
rateLimitWindowMs: z.coerce.number().optional().default(60_000),
|
|
264
|
+
/** Max /redeem attempts per IP per window. Default 20. */
|
|
265
|
+
redeemRateLimitMax: z.coerce.number().optional().default(20),
|
|
266
|
+
/** Max /create requests per IP per window. Default 30. */
|
|
267
|
+
createRateLimitMax: z.coerce.number().optional().default(30),
|
|
268
|
+
/**
|
|
269
|
+
* Base URL of the Explorer instance that redeems land in. When set, GET
|
|
270
|
+
* /magic-link/redeem 302-redirects the browser to `${explorerUrl}/#token=<jwt>`
|
|
271
|
+
* (Explorer's magic-link auth provider reads the fragment). When unset, redeem
|
|
272
|
+
* returns the token as JSON. Append `?format=json` to force JSON regardless.
|
|
273
|
+
*/
|
|
274
|
+
explorerUrl: z.string().optional(),
|
|
275
|
+
}).passthrough();
|
|
217
276
|
const configInfoSchema = z.object({
|
|
218
277
|
userHandling: userHandlingInfoSchema,
|
|
278
|
+
magicLink: magicLinkSchema.optional().default({}),
|
|
219
279
|
databaseSettings: databaseSettingsInfoSchema,
|
|
220
280
|
viewingSystem: viewingSystemInfoSchema.optional(),
|
|
221
281
|
restApiOptions: restApiOptionsSchema.optional().default({}),
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|