Skip to Content
Apps & PortalsAuthScreen Flows — Auth & Registration

Screen Flows — Auth & Registration

Screen IDs reference screens-auth.md. Auth screens are served by the Dashboard Next.js app at unauthenticated routes.

Status: Core login/register flows [Live]. Social OAuth login and mobile biometric auth [To Build].


1. Login

Rendering diagram…

Tenant Selection Modal

Appears immediately after credential validation for users who belong to more than one tenant.

ElementBehaviour
Org dropdownSearchable combobox — filters by name as user types. Handles 100+ tenants.
Select buttonSets active tenant context and redirects to /dashboard.
Dismiss / CancelReturns user to the login screen (session not established).

Error States

ConditionUI Response
Empty email or passwordInline field error below input
Incorrect credentialsBanner error above form
Account locked (5 failed attempts)Banner error with lockout duration
Unverified emailBanner with “resend verification link” action
Expired reset tokenError on A3 page load — link to A2

2. Password Reset

Rendering diagram…

Security notes:

  • A2 always shows a success message regardless of whether the email exists (prevents enumeration).
  • Reset link expires after 1 hour.
  • Rate limited to 3 reset requests per hour per email.
  • A3 checks the password against HIBP (Have I Been Pwned) on blur and warns if compromised.

3. Self-Signup (New — /signup)

Rendering diagram…

Self-Signup Step Summary

StepScreenRouteKey fields
1S1 — Contact/signupCountry, First/Last Name, Email, Mobile, Password
2S2 — Company/signup/companyCompany Name, Industry, Website (optional)
3S3 — Location/signup/locationState, GST, PAN, SEZ (all optional)
4S4 — Plan/signup/planPlan selection, Billing Address

Session storage keys: signup_step1, signup_step2, signup_step3, signup_session_token

Redirect guards: Each step checks for the preceding step’s sessionStorage key; redirects to step 1 (or the missing step) if absent.

Post-payment: Redirects to /login?registered=1. No intermediate onboarding wizard step — user logs in and lands on /dashboard where the GettingStartedView handles onboarding context.


4. Legacy Registration (/register)

Rendering diagram…

Registration Step Summary (Legacy)

StepScreenRouteRequired fields
1R1 — Contact/registerCountry, First Name, Last Name, Email, Mobile, Password
2R2 — Company/register/companyLegal Company Name, Brand / Display Name
3R3 — Location/register/locationState (Country pre-filled from Step 1)
4R4 — Plan/register/planPlan selection, Billing Address

Auto-save: Each step is persisted server-side on Continue so the user can resume after closing the browser.


5. Mobile Auth

The React Native app uses the same credentials as the web app with an additional biometric unlock layer.

Rendering diagram…

6. Screen Index

IDScreenRoute
A1Login/login
A2Forgot Password/forgot-password
A3Reset Password/reset-password?token=…
S1Self-Signup — Contact/signup
S2Self-Signup — Company/signup/company
S3Self-Signup — Location & Tax/signup/location
S4Self-Signup — Plan & Payment/signup/plan
SESelf-Signup — Expired Session/signup/expired
R1Register — Contact (legacy)/register
R2Register — Company (legacy)/register/company
R3Register — Location (legacy)/register/location
R4Register — Plan & Payment (legacy)/register/plan

© 2026 Leadmetrics — Internal use only