SAML with Keycloak¶
Step 1: Keycloak Configuration¶
To add Zammad as a client, save the XML configuration to disk (
https://your.zammad.domain/auth/saml/metadata
) and use Clients > Clients list > Import client in the Keycloak admin panel.To help Zammad match its own user accounts to Keycloak users, create a user attribute (or “property”) mapper. In Clients list, click on your newly created Client ID, choose the tab Client scopes and click on the link which refers to your Zammad instance. Choose Add mapper > By configuration > User Property and create a mapper with the following entries:
Name
email
Mapper Type
User Property
Property
emailAddress
SAML Attribute Name
email
SAML Attribute NameFormat
basic
In the example above, we’re telling Zammad that whenever it receives a SAML login request, it should take the
email
property from Keycloak, look for a Zammad user with the sameemail
attribute, and create a new session for that user.If your Keycloak users’ email addresses are stored on another property (e.g.,
username
), adjust accordingly.Back in Settings, enter the Client ID (
https://your.zammad.domain/auth/saml/metadata
) in the field Master SAML Processing URL.You also need to enable Sign assertions.
2. Configure Zammad¶
Log in to Zammad as an administrator
In the admin panel go to “Settings” > “Security” > “Third-party Applications” > “Authentication via SAML”
Provide the following information:
SAML IdP Login URL:
https://your.domain/realms/your-realm/protocol/saml
SAML IdP Logout URL:
https://your.domain/realms/your-realm/protocol/saml
Name Identifier Format:
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
SAML IdP Certificate: Upload the previously downloaded Base64 certificate.
Save the settings
Hint
Read on at General Zammad Configuration for a description of the specific fields in Zammad.