Phone + OTP authentication flow for customer storefront
The storefront login uses a phone number + OTP (One-Time Password) authentication flow. Users enter their 10-digit Indian mobile number, receive an OTP via SMS, and verify it to log in. New users are prompted to complete their profile after verification.
* Profile completion only shown for new users
| Phone Number | Type | Notes |
|---|---|---|
| 9876543210 | Existing User | Use for returning user tests |
| 9123456789 | New User | Will trigger profile completion modal |
| 9000000001 | Test OTP | Dev environment: OTP is always 123456 |
123456 for all test numbers. In production, real SMS OTPs are sent.
Objective: Verify that users can successfully request an OTP with a valid 10-digit phone number.
9876543210Objective: Verify that phone numbers with less than 10 digits are rejected.
987654321Objective: Verify that non-numeric characters are automatically stripped from input.
abc!@#$%98765-432109876543210 - only digits are keptObjective: Verify that input is limited to 10 digits maximum.
123456789012123456789098765432109999876543210 - truncated to 10 digitsObjective: Verify that an existing user can successfully log in with a valid OTP.
Precondition: User has already completed phone entry and is on OTP screen.
123456 (one digit per box)Objective: Verify that new users see profile completion modal after OTP verification.
Precondition: Use a phone number that doesn't exist in the system.
9123456789123456Objective: Verify proper error handling when user enters incorrect OTP.
000000Objective: Verify OTP input boxes have proper auto-focus and keyboard navigation.
123456Objective: Verify users can paste a 6-digit OTP and have it fill all boxes.
123456 to clipboardObjective: Verify users can go back to change their phone number.
Objective: Verify the resend OTP countdown timer works correctly.
Objective: Verify already logged-in users are redirected away from login page.
Precondition: User is already logged in.
| Environment | Storefront URL | Login Page |
|---|---|---|
| Local | http://localhost:4000 | http://localhost:4000/login |
| Development | https://dev-store.bizplaza.in | https://dev-store.bizplaza.in/login |
| Staging | https://staging-store.bizplaza.in | https://staging-store.bizplaza.in/login |