Wp-discourse getting odd data from wp - debug help?

This is probably the source of the problem. Since the require_activation SSO parameter is set to true, users will not be matched by email address when they login to Discourse - instead, Discourse will search for a user with an external_id that matches the WordPress user. If no user with the external_id from the SSO payload exists, Discourse will attempt to create a new user. If when attempting to create the new user, a user already exists with the SSO payload’s email address, you will get the error you are seeing.

Have a look at this topic for some ideas about how to fix the problem: Debug and fixing common DiscourseConnect issues.

Did you create your test users manually through the WordPress admin section? How are regular users registering on your WordPress site?

If you are using the default WordPress registration system, the require_activation SSO parameter will be set to false. The reason for this is that the email address will have been verified on WordPress. When require_activation is set to false, existing Discourse users will be matched with WordPress users by their email address.

5 Likes