OpenID Connect Creates User Login as UID

Infos:

  • Used Zammad version: 7.0.0
  • Used Zammad installation type: package
  • Operating system: RHEL 9.7
  • Browser + version: Firefox 140.9.0esr

Expected behavior:

  • After configuring OpenID Connect in Zammad with our internal Keycloak, a new user logs into Zammad using OpenID Connect, authenticates, and a new user is auto-created in Zammad with their “Login” key set to their username.

Actual behavior:

  • After a new user logs into Zammad, their “Login” key is set to their UUID, which is unhelpful when trying to manage users.

Steps to reproduce the behavior:

  • Configure internal Keycloak instance following requirements according to Zammad admin docs
  • Configure Zammad according to Zammad admin docs
  • Log into Zammad w/ OpenID Connect using an internal user account via internal Keycloak that doesn’t exist yet in Zammad

I think I’ve resolved my own issue.

CAUSE OF THE ISSUE:
I mistook the “UID” option when configuring OpenID Connect as what fields Zammad uses to find the right user on Keycloak, and expected a list of fields to search for and match. It wasn’t clear in the docs that this is just one field that Zammad sets the user “login” key to.

My troubleshooting was foiled by:

  1. Zammad seems to default to “sub” if you enter a comma delimited list of fields
  2. Not knowing what “UID” specifically referred to in this context.

RESOLUTION:
I set the “UID” field to just the value I wanted a user’s a login key to show, here being “preferred_username”.

Now when users first login, the Login key correctly shows a username instead of UUID.