SL
SkillsLao Learner Portal
Prototype
๐ŸŽฌ Simulate:

Reset Password

Passwords do not match. Please try again.
At least 8 characters
At least 1 uppercase letter
At least 1 lowercase letter
At least 1 digit

Screen Flow (from flow.puml):

โ†’ password reset successful โ†’ Password Login (SCR-IDP.22 / UC-IDP.02) โ†’ password fails criteria (AF-8A โ€” inline, stays on page) โ†’ [end]
๐Ÿ“ Spec notes โ€” UC-IDP.22 / SCR-IDP.40 (fields, actions, requirements)
Identity
  • Screen: SCR-IDP.40 โ€” Reset Password
  • Use case: UC-IDP.22 โ€” Forgot Password
Brief description

Page for setting a new password after OTP verification succeeds. The user enters and confirms a new password; the system shows password-strength criteria in real time (SS-IDP.19). On success, all existing sessions across all devices are invalidated and the user is redirected to Password Login (SCR-IDP.22 / UC-IDP.02). If the password does not meet criteria (AF-8A), an inline error is shown without navigating away.

Fields
  • new_password "New Password" โ€” password ยท AuthIdentity.credential ยท required ยท always ยท validation: min_length 8, has_uppercase, has_lowercase, has_digit, not in recent history (SS-IDP.19)
  • confirm_password "Confirm New Password" โ€” password ยท required ยท always ยท validation: matches new_password
  • password_criteria_status "Password Criteria" โ€” text ยท read-only ยท always ยท live โœ“/โœ— per criterion on each keystroke (SS-IDP.19)
Actions
  • submit "Set New Password" โ€” enabled when required_fields_valid && new_password == confirm_password && all criteria pass ยท triggers UC-IDP.22-M-8 โ†’ invalidates all sessions โ†’ /login-learner/
  • cancel "Cancel" โ€” always enabled โ†’ /forgot-password/
Additional requirements
  1. password_criteria_status must update in real time as the user types โ€” showing โœ“/โœ— for each criterion (length, uppercase, lowercase, digit). [refs: SS-IDP.19]
  2. If password fails validation (AF-8A), show inline error in the "Password criteria" region indicating the unmet criteria โ€” page must not navigate; user can fix and retry immediately. [refs: SS-IDP.19]
๐Ÿ“ Reviewer notes (overlay)

The page header block (icon circle + title) must sit on the white background inside the card โ€” render the text-center header as the first child of .card-body.

Source: Prototype/screen-notes/forgot-password/_uc.md โ€” applied as override layer at generation time