The discussion revolves around the error message “There is a problem with your account. Please contact the site’s administrator” when using Single Sign-On (SSO) in Discourse.
The initial poster, programster, was experiencing this error and later discovered it was due to a stupid implementation error on their part.
However, others, including emanuelet, have reported the same issue with the official Wordpress Plugin and are seeking help. codinghorror suggests that the error message should be more descriptive and techAPJ recommends enabling verbose SSO logging and debug logs to investigate the issue.
riking suggests that the issue might be due to missing email fields in the SSO payload, while codinghorror suggests checking site settings, admin logs, and screened emails in case the email address is banned or blacklisted.
Additionally, comepasta reports a weird behavior where the error occurs when the SSO values are encoded with multiple + characters, and vavalomi notes that the error can also occur when hitting the registration limit from the same IP.
William_Entriken shares their solution to the problem, which involves enabling verbose SSO logging and deleting existing non-SSO accounts with the same email address.
I just setup SSO on my discourse forum that I deployed through docker using the latest “stable” version (1.5). To clarify, I have my own SSO service that I am using to log into discourse. I am not using Discourse as an SSO provider. I used the cviebrock/discourse-php PHP package in order to develop the SSO service to work with discourse.
Whenever I hit login, everything redirects okay, but I land on the discourse forum with the message:
There is a problem with your account. Please contact the site’s administrator.
I tested messing with the signature or the sso and if I do that I get a blank page. I also tested plugging in an incorrect secret and got a different error message.
Has anyone else received this error message and know what I should do? Are there logs anywhere I can get more detailed information from?
If the email is actually there (and not blank), perhaps that email address has been banned or blacklisted. Check your site settings and admin, logs, screened emails.
Hi,
I found another wierd behavior to get this error. And it is very annoying. Documentation sais that the SSO has to urlEncode the values of the unsigned payload.
Ok, for example I map the value of user.name:
Single string. Works fine
String with ONE space. It can either be encoded with a + or %20 (both are valid urlEncodings). Works fine
String with TWO or MORE spaces. When they are encoded with a +, ERROR. With %20 works fine.
One space encoded with a ‘+’ works but several ‘+’ don’t? And the logs do not raise any error about this.
I think this is worth mentioning in the SSO documentation.