User name not displayed everywhere when using SSO

I setup a Discourse install using SSO auth with an existing website (replacing an in-CMS private forum). The payload contains an external_id, email, name, and moderator == false but not username (this is generated on first login by Discourse). Discourse is setup to display the full name of the user everywhere (enable names, display name on posts, full name required).

However, there seems to be a discrepancy on where the name of the user is displayed or stored. On the public profile, the username is displayed. In the user preferences, the name field is empty. In the admin panel (/admin/users/list/active) the name is listed correctly, however in the “Single Sign-On” section the name field is empty (while external_id and email is filled correctly in this section).

At least the first issue (name missing in user preferences, as read-only?) should be fixed as it confuses users. The discrepancy with the user admin listing is odd. And I assume the “Single Sign-On” name should be filled, too.

I did not find any other discrepancies. I’ll report back if I find anything else.

Ok so it turns out I was dumb and did actually provide an empty name in the payload, the name was taken from the e-mail address instead. This is fixed now, so the Admin-Users view is now working as expected.

However, the name does still not appear in the the user’s profile settings page when using SSO. So there’s a minor bug here. Maybe this is related to the sso_overrides_name setting (which is true on my install)?

3 Likes

I’m running into the same issue. User profiles only partially display the full name.

It is correctly showing in the top little banner area of the profile next to the username & avatar.
It is however absent from the list of fields. It should either hide the label for the field, or display the full name.

1 Like