The discussion revolves around a DiscourseConnect SSO error where an existing user cannot log in, receiving a “User already exists” error. jakelunniss reports the issue, noting that the user’s SSO payload includes require_activation: true, which causes Discourse to attempt to create a new account instead of using the existing one. angus suggests disabling the “Email Verified” checkbox in the user’s WordPress profile, which resolves the issue for the first user. jakelunniss confirms the fix but notes the problem has recurred for another user, raising concerns about email changes in Discourse. angus questions whether the user recently changed their email or if the error screenshot is from a different user.
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”
Then ask him to attempt to login again.
(I’m assuming here you don’t have any custom code on your Wordpress which uses the filter discourse_email_verification)
p.s. I would recommend obscuring the email addresses in the screenshots (data privacy etc.)
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.