The error in Discourse logs seems to be related to another user (note the name attribute).
As for the user who’s unable to log-in, I suspect the issue is that require_activation is set to true in the SSO payload. This prompts Discourse to try and create a new user instead of looking up an existing one. As his account already exists, the error is thrown.
There might be a few reasons why require_activation is true for an existing user, however could you go to the user’s Wordpress profile, check this box and click “Update Profile”
Firstly, the email address - Johnathan is a friend of mine. His email address is visible on his website and he doesn’t give two poops about privacy. Otherwise I would have obscured it.
I checked the email address verified on his profile and it was already checked.
I unchecked this:
And that seems to have resolved the problem.
No, there’s no custom code using the filter discorse_email_verification
The issue has popped up for another user today so I’d still like to get to the bottom of it, as we’d prefer that users can’t change their email address in discourse.