The Password change preset

The Password change preset gives a signed-in member a page where they change the password on their own: the old password is verified, the new one is stored. No email involved — the member is already signed in. Works with the same member type as the Login preset. The article covers the options-window fields, the diagram, and the pre-publish checks.

Password change completes the sign-in + forgot-password pair: the member is signed in and wants a new password without involving email. The preset usually sits on a private account page.

Where to find the preset

Open the “Site” section in the admin → a flow (a private one works best — the “Members only” mode) → the toolbar → “Presets” → the “Password change” card.

The preset gallery: the “Password change” card

What the preset builds

Node Role in the flow
Start The password-change form sends the data to the flow’s route
GraphQL Read the member’s current password fingerprint
Condition Does the old password from the form match the fingerprint?
GraphQL Store the new password (the password field only)
Redirect To the “password changed” page — or the “old password is wrong” one

Step by step

1. Open the options window (the “Password change” card).

The Password change preset options window

2. Pick the member content type — the same one as in the Login and Registration presets — and its login and password properties.

3. Match the form fields: the old and the new password — the field names in your form markup (old_password and new_password by default; check them against the markup).

4. Check where the flow takes the member from. Password change works for someone already signed in: the member is identified by the cookie session that the Login preset sets. When the flow lives behind “Members only”, a request without a valid session never starts the flow at all.

5. Press “Generate”. The diagram lands on the canvas; if the canvas wasn’t empty, the platform asks “Replace flow?” first.

The canvas after generating the Password change preset

How the change goes

The key node is the Condition: a bcrypt comparison of the old password from the form against the fingerprint from the member record.

The condition inspector: verifying the old password

On a match, the GraphQL node stores the new password — and touches the password field only: the name, the email and the rest of the member record stay as they are.

The inspector of the node that stores the new password

On a mismatch, the member lands on a page with an error message; the data is left unchanged.

What to check after generating

  • The flow’s route is a private page (the “Members only” mode on the Start node).
  • “Save draft” → “Publish flow” (“Draft, preview, and publish”).
  • A run on the preview: a change with the correct old password → signing in with the new one; a change with a wrong old password → an error message, and the password stays the same.

Fine points

  • The new password takes effect at once: the member’s other sessions (other browsers) keep working until their cookies run out. That is ordinary behavior for sites with cookie sessions.
  • The error message stays vague about which field failed — there is exactly one check: the old password.
  • The password-change form on your site sends the data to the flow’s route — the POST binding is created at generation.

Frequent questions

Question Answer
The member forgot the old password — what should they use? The Forgot password preset: there the confirmation goes through email, and the old password is never asked for.
Can the login be changed too? The preset changes the password only. The login changes through ordinary editing of the member record (by hand or with a separate flow).
Why doesn’t changing the password sign the other browsers out? That is how cookie sessions work: each browser session lives until its own cookie expires. The “password change closes all sessions” policy belongs to server platforms with a session table.
Where does the member land after a successful change? On /?password=changed (with a wrong old password — /?password=wrong); both addresses are wired into the “Redirect” nodes on the canvas — edit them right there if needed.

Next article: The Logout preset

See also: The Login preset · Action nodes: what each one does