As a user, I want to be able to log in to the Web3 Scantron Testing System using various authentication methods so that I can securely access my account and take tests across desktop, mobile, and tablet devices.
Acceptance Criteria
[ ] User can log in using a wallet by connecting to a Metamask extension or mobile wallet link.
[ ] User can log in using an email and password combination after registration.
[ ] User receives a confirmation email upon registration for verifying their account.
[ ] User can recover or reset their password using their registered email.
[ ] User session is maintained across different devices until manually logged out.
[ ] User can log out from the system from any of the authenticated devices.
[ ] The system supports login with SSO (Single Sign-On) providers, such as Google, for easy access.
[ ] User must accept the Terms of Service and Privacy Policy before the final step of the registration process.
sequenceDiagram
participant U as User
participant M as Metamask
participant E as Email Service
participant S as System
U->>S: Select Metamask login
S->>M: Request wallet connection
M->>U: Confirm connection
M->>S: Provide wallet credentials
S->>U: Redirect to dashboard
U->>S: Select email/password login
S->>U: Request email and password
U->>E: Request password recovery
E->>U: Send recovery email
User Authentication
As a user, I want to be able to log in to the Web3 Scantron Testing System using various authentication methods so that I can securely access my account and take tests across desktop, mobile, and tablet devices.
Acceptance Criteria