Cannot update member password when running in live mode

Silverstripe Version: 5.0

Cannot update member password when running in live mode

I have recently upgraded and old Silverstripe v3 site to v4.13 and then to v5.0. The upgrade seemed to have gone smoothly, but this week the client reported that they could not update a user’s password. I tried this myself on the production server and was able to recreate the issue. I then tried to recreate it on the staging website (running in test mode) and my local environment (running in dev mode) and found that I was able to update the password without issue. All environments are running PHP8.1.

Putting the local environment into live mode resulted in the password not updating and an error being flagged. By adding ?isDev=1 to the itemEditForm call and resending the request, I got back the error:

Array to string conversion in /var/www/html/vendor/silverstripe/framework/src/Security/Confirmation/Storage.php on line 271

Thinking that the error might be due to the extension I have added to Member. I set up a clean install of Silverstripe 5.1 and was able to replicate the issue on that also.

Has anybody else experienced this issue?

Regards,
Andy

That sounds like a genuine bug. Can you please raise a GitHub issue for this? Please include all of that information. If you have time to step through with a debugger and find out what the erroneous array value is, that would also be very useful.