Keycloak config
config.json
{
"oidc_providers": {
"keycloak": {
"display_name": "Sign in with keycloak",
"provider_url": "https://keycloak.example.com/realms/master",
"client_id": "***",
"client_secret": "***",
"redirect_url": "https://semaphore.example.com/api/auth/oidc/keycloak/redirect"
}
}
}
IdP-initiated login
To let users launch Semaphore from the Keycloak Account Console application launcher, enable IdP-initiated login for the provider:
config.json
{
"oidc_providers": {
"keycloak": {
"...": "...",
"allow_idp_initiated": true
}
}
}
Then, in the Keycloak Admin Console, open your client and set the Home URL (Keycloak ≥ 19; older versions call it Base URL) to:
https://semaphore.example.com/api/auth/oidc/keycloak/initiate
When a user clicks the application in the launcher, Keycloak redirects to this URL with the iss parameter. Semaphore
validates iss against your provider_url (the realm issuer) and starts a normal Authorization Code flow.
Related GitHub Issues
- #2308 — How to disable certificate validation for Keycloak server
- #2314 — Option to disable TLS verification
- #1496 — Log out from Keycloak session when logging out from Semaphore
Explore all Keycloak-related issues →