v1.2.0
· 3 min read
Closes two lookup endpoints that answered anyone who asked, gets members signed in after a password reset instead of showing them a login form, and fixes several ways accounts created from an AMS came out wrong.
Adds
- Member/Non-Member role mapping can create a role by name, the same way every other mapping type already could. Previously it could only choose from roles that already existed.
- Member Lookup remembers your last few lookups and offers them back as shortcuts. Each administrator sees only their own, and a member reached by ID, record number or email is remembered once rather than three times.
Fixes
- [SECURITY] Two lookup endpoints answered anyone who asked. The committee and membership type lists — read from re:Members, and spending the site's API allowance to do it — were reachable by any visitor who could reach the REST API. Both now require the same permission as the screens they serve, and a test refuses any future route in the namespace that does not declare one.
- [RE:MEMBERS] Members are signed in after completing a password reset, instead of being shown the WordPress login form and asked to log in again by a site they had just proved their identity to. The return address given to re:Members was losing part of itself on the way back; it no longer has a part to lose.
- Members created from the AMS get their first and last name. The plugin was writing them to property names WordPress does not save, so every AMS-created user had blank name fields regardless of what the AMS sent. Records carrying only a combined name now have it split.
- Two members whose names produce the same username can both sign in. The second was refused a WordPress account and could never get in; the username now gets a numeric suffix, as WordPress does elsewhere.
- A failure while creating a WordPress user is reported instead of ending the login in a PHP fatal error.
- [NOVI] A role granted in WordPress, that no mapping mentions, survives the next sign-in on Novi as well as on re:Members. The code to preserve it existed but had been commented out.
- The "Role to Apply to all SSO Users" setting no longer adds a blank role when saved without choosing one, and no longer adds a role the member already has twice.
Changes
- Login and logout no longer append a cachebuster to the address members land on. Measured against a live site, the page cache already bypasses signed-in members on its own, while every login and logout was leaving behind a cache entry keyed on a timestamp nobody would request again. Members now land on a clean URL.
- The wording of the "Manage WP Roles on AMS" setting says what turning it on actually does to roles granted in WordPress.