Better Enrollment

Recipes

Short patterns for common setups.

buildInviteUrl: ({ token }) => `${process.env.APP_URL}/invite?token=${encodeURIComponent(token)}`,

Captcha on redemption endpoints

captcha({ endpoints: ["/invite/redeem", "/invite/accept", "/invite/activate"] });

Breached password checks for invited users

haveIBeenPwned({
  paths: ["/sign-up/email", "/reset-password", "/invite/redeem", "/invite/accept"]
});

Gating org creation by role

An org-create invite bypasses this gate by design; the invitation is itself the authorization:

organization({ allowUserToCreateOrganization: roleGate(["admin", "org-creator"]) });

Last updated on

On this page