3.6 KiB
3.6 KiB
Choose a new password
- Route:
/register/reset/validate?c=CODE&email=EMAIL - API: POST /v1/auth/password-reset/confirm
- Visual reference:
source/RenewCMS Screens Auth.dc.html, group "Reset password" (open it in a browser; each state is drawn at desktop and mobile, with a light/dark toggle).
Opened from the reset email. The email comes from the URL and is read-only. The confirm field is checked only in the browser.
States
Default
Trigger: Both parameters are present.
- Heading: Choose a new password
- Description: "Pick something you haven't used here before. You'll log in with it next."
- Field
Email: placeholder "you@example.com"; value "marta@renew.example"; read-only; help "From your reset link." - Field
New password: password with show/hide; checklist "At least 8 characters" (unmet) - Field
Confirm new password: password with show/hide; checklist "Passwords match" (unmet) - Submit button: "Change password"
Too short
Trigger: On submit, with fewer than 8 characters.
- Heading: Choose a new password
- Description: "Pick something you haven't used here before. You'll log in with it next."
- Field
Email: placeholder "you@example.com"; value "marta@renew.example"; read-only; help "From your reset link." - Field
New password: value "lime"; password with show/hide; checklist "At least 8 characters" (err) - Field
Confirm new password: value "lime"; password with show/hide; checklist "Passwords match" (met) - Submit button: "Change password"
Mismatch
Trigger: On blur of the confirm field, or on submit.
- Heading: Choose a new password
- Description: "Pick something you haven't used here before. You'll log in with it next."
- Field
Email: placeholder "you@example.com"; value "marta@renew.example"; read-only; help "From your reset link." - Field
New password: value "limewash2026"; password with show/hide; checklist "At least 8 characters" (met) - Field
Confirm new password: value "limewash2025"; password with show/hide; error "The passwords don't match."; checklist "Passwords match" (err) - Submit button: "Change password"
Submitting
Trigger: Request in flight.
- Heading: Choose a new password
- Description: "Pick something you haven't used here before. You'll log in with it next."
- Field
Email: placeholder "you@example.com"; value "marta@renew.example"; read-only; help "From your reset link." - Field
New password: value "limewash2026"; password with show/hide; checklist "At least 8 characters" (met) - Field
Confirm new password: value "limewash2026"; password with show/hide; checklist "Passwords match" (met) - Submit button: "Changing password…", loading
Success
Trigger: 200 → /login?reason=password-changed.
- Alert (success, circle-check): Password changed "Log in with your new password."
- Heading: Log in
- Description: "Welcome back. Log in to manage your articles."
- Field
Username: placeholder "Your username" - Field
Password: password with show/hide; link "Forgot password?" - Submit button: "Log in"
Invalid or expired (403)
Trigger: The code is wrong, used, or older than 1 hour.
- ResultPanel (error, link-2-off): This reset link has expired; text "Reset links work once, for 1 hour. Request a new one and use it within the hour."; actions "Request a new link" (primary), "Back to log in" (secondary)
Missing parameters
Trigger: The link has no c or no email. No request is made.
- ResultPanel (error, link-2-off): This link is incomplete; text "Part of the reset link is missing. Open it from your email again, or request a new one."; actions "Request a new link" (primary)