๐ฌ 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_passwordpassword_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
- password_criteria_status must update in real time as the user types โ showing โ/โ for each criterion (length, uppercase, lowercase, digit). [refs: SS-IDP.19]
- 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