Перейти к основному содержимому

Настройка Keycloak

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

Чтобы пользователи могли запускать Semaphore из лаунчера приложений Account Console в Keycloak, включите вход, инициированный IdP, для провайдера:

config.json
{
"oidc_providers": {
"keycloak": {
"...": "...",
"allow_idp_initiated": true
}
}
}

Затем в Keycloak Admin Console откройте ваш клиент и укажите в Home URL (Keycloak ≥ 19; в более старых версиях это поле называется Base URL):

https://semaphore.example.com/api/auth/oidc/keycloak/initiate

Когда пользователь нажимает на приложение в лаунчере, Keycloak перенаправляет на этот URL с параметром iss. Semaphore проверяет iss на соответствие вашему provider_url (issuer realm) и запускает обычный поток Authorization Code.

  • #2308 — Как отключить проверку сертификата для сервера Keycloak
  • #2314 — Опция для отключения проверки TLS
  • #1496 — Выход из сессии Keycloak при выходе из Semaphore

Все issues, связанные с Keycloak →

  • #1745 — Имя пользователя отличается от preferred_username в OpenID
  • #1030 — Поддержка SAML?

Все обсуждения, связанные с Keycloak →