User Registration & Verification
Step-by-step for user sign-up and email verification using Basic Authentication.
This workflow covers creating a user account with email/password and verifying the email address before allowing login.
Prerequisites
Users table in the helper file with fields for:
email,passwordHash,isVerified,isEnabled, and timestampsEmail delivery configured in
onAuthNotifier(server-side) for verification messages
Workflow
User submits the registration form
Run
authRegisteractionHelper file creates the user (password stored as a one-way hash)
System sends verification email with a time-bound verification link
User clicks the link and lands on a verification page
Run
authVerifyaction on page load to confirm the tokenMark the user record as verified (
isVerified = True)Optionally sign the user in or redirect to login
Page Actions
Registration page:
authRegisterVerification page:
authVerify(recommended to run in an onFormLoad named action)Optional resend-verification UI:
authResend(requiresemail)
Hooks (FileMaker)
onBeforeRegistration: optional gate before the user is created — returnmodel.createUser = falseto reject the signuponRegistration: optional post-registration business logiconAuthNotifier: send verification email and any admin notifications
Controlling Who Can Sign Up
Use onBeforeRegistration when you want FileMaker rules to approve or reject a signup before the Users record is created.
Examples:
allow only
@yourcompany.comaddressesrequire a pre-approved invite or matching contact record
block self-service signup for locked-down apps (
createUser = false)
For password registration (authRegister):
model.createUser = false→ registration is rejectedmodel.createUser = true→ registration continueshook missing (older helpers) → registration still continues, so existing apps are not broken
OAuth new-user creation uses the same hook but is stricter: missing hook or no explicit allow blocks account creation. See onBeforeRegistration and OAuth.
After a user is created, helper Auto Enable User Accounts still controls whether they can sign in (isEnabled). Use Auto Enable for “create but inactive”; use onBeforeRegistration when the account should not be created at all.
Data Considerations
Verification tokens should be treated as secrets; avoid logging or storing them in cleartext
Verification tokens should be time-bound and single-use
Practical Notes
Registration pages must provide
emailandpasswordin the page model before runningauthRegisterIf you want a second "confirm password" field, use a custom validator to compare
passwordandpassword2Authentication feedback can be shown with
model.authMessage, or more robustly withmodel.authMessageCodeandmodel.authMessageTypeVerification pages usually run
authVerifyautomatically inonFormLoadThe verification action reads the token from the URL; you generally do not need to parse it manually
Users must still be enabled (
isEnabled = true) to sign in after verification
Related Pages
Last updated
Was this helpful?