Settings
-
Client ID
Уникальный идентификатор клиента
-
Name
Отображаемое имя (например, в окне согласия (Consent))
-
Description
Описание
-
Enabled
Вкл/Выкл
-
Always Display in Console
Всегда показываться клиента в списках приложений пользователя в Account Management Console
-
Consent Required
Выводить окно согласия предоставления пользовательских данных клиенту
-
Login Theme
Тема оформления для клиента. Переопределяет тему, заданную в настройках реалма
-
Client Protocol
Протокол, используемый для аутентификации (oidc, saml)
-
Access Type
По сути определяет тип клиента. Браузерное фронтовое приложение (Public) | Бэкенд, который модет получать токен и обращаться к другим бэкендам (Confidential) | Бэкенд, который только проверяет другие токены и нам нужно, чтоб keycloak знал о нём, чтобы правильно добавлять поля в токен, типа
aud(Bearer-only) -
Standart Flow Enabled
Authorization Code Flow в терминах oidc
Источник изображения: https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow -
Implicit Flow Enabled
Источник изображения: https://auth0.com/docs/get-started/authentication-and-authorization-flow/implicit-flow-with-form-post -
Direct Access Grants Enabled
Resource Owner Password Credentials Grant в терминах oidc Разрешает напрямую передавать клиенту имя пользователя и пароль, чтобы клиент мог самостоятельно получить пользовательских токен
-
Service Accounts Enabled
Access Type: confidentialClient Credential Grant в терминах oidc Позволяет клиенту иметь некие учётные данные (client_id+secret, signed jwt, etc…), с помощью которых он может получать токены -
OAuth 2.0 Device Authorization Grant Enabled
Относится к OAuth 2.0 Device Authorization Grant
-
OIDC CIBA Grant Enabled
Access Type: confidentialОтносится к OIDC Client-Initiated Backchannel Authentication -
Authorization Enabled
Включить настройку правил авторизации (появляется отдельный там
Authorization) -
Front Channel Logout
Если включено, используется
Источник изображения: https://www.youtube.com/watch?v=ObWSeNYkh8s Back Channel Logout Источник изображения: https://piraveenaparalogarajah.medium.com/configuring-openid-connect-back-channel-logout-using-wso2-identity-server-8c758310525fFront Channel Logout, когда логаут запросы отправляются клиентам из браузера, иначеBack Channel Logout, когда keycloak сам отправляет запросы клиентам Front Channel Logout -
Front-Channel Logout URL
Front Channel Logout: trueКуда редиректить после логаута -
Root URL
Если в параметрах, типа Valid Redirect URIs, Base URL и др. используются относительные пути, то здесь можно задать рутовый, который будет к ним добавлен. Т.е. параметр чисто для удобства.
Root URL: https://example.com,Valid Redirect URIs: /somepathв результатеValid Redirect URIsпо факту будетhttps://example.com/somepath -
Valid Redirect URIs
Standard Flow Enabled: trueURL’ы, на которые разрешено перенаправлять после логина в keycloak при использованииStandart Flow. По сути, это то, куда можно передаватьAuthorization Code, сгенерированный keycloak’ом, для дальнейшего получения токена -
Base URL
URL, по которому keycloak может общаться с клиентским API
-
Admin URL
URL, по которому через API keycloak может отправлять клиенту различную административную информацию, типа политик или
backchannel logout. Поддержка обработки таких запросов должна быть реализована в API клиента. Если не задано, используетсяBase URL -
Logo URL
URL логотипа клиента. Например, для отображения на странице согласия (Consent)
-
Policy URL
URL на политику обработки данных (Privacy Policy)
-
Terms of service URL
URL на Условия пользования (TOS)
-
Web Origins
Standard Flow Enabled: trueЗначение хидераAccess-Control-Allow-Origin, который будет отдавать keycloak в ответе, когда к нему через ajax будут приходить запросы от веб-приложения, открытого в браузере. Защита от XSS, CSRF атак. Защиту реализует сам браузер, читая значение хидера и запрещая использовать ответ сервера, если в заголовке нет текущего открытого URL -
Backchannel Logout URL
URL, на который должен быть отправлен запрос для логаута из реалма при логауте пользователя через Backchannel. Если не задано, используется
Admin URL -
Backchannel Logout Session Required
Включать или нет session_id (sid) в logout токен при использовании
Backchannel Logout URL -
Backchannel Logout Revoke Offline Sessions
Добавлять в logout токен
revoke_offline_access, который означает, что клиенту также необходимо удалить сессии offline токенов при использованииBackchannel Logout
Credentials
Здесь можно задать учётные данные для аутентификации клиента, в случае если в клиент настроен с Access Type: confidential и Service Accounts Enabled: true
Keys
Если в Credentials используется Signed JWT как учётные данные клиента, то в этом разделе можно настроить то, как проверять подпись JWT-токена
Roles
Роли, специфичные для клиента. Роль может быть назначена обычным и service-account пользователям. В токене роли будут перечислены в scope resource_access.<client>.roles, если у клиента <client>, в настройках Scope разрешено добавление этой роли в токен
Client Scopes
Переопределяет реалмовые Client Scopes, которые были применены при создании клиента
Mappers
Маппинги, которые в том числе позволяют прокидывать/изменять параметры в scope, добавляемые в токен
Scope
Позволяет ограничить то, какие роли добавляются в scope токена. Например, пользователь аутентифицируется в веб-приложении, которое использует клиента Client1 для работы с keycloak, при этом у пользователя добавлена роль RoleClient2 клиента Client2. Мы не хотим, чтобы в токене, получаемом для Client1 были указаны роли для клиента Client2. В таком случае мы отключаем Full Scope Allowed и настраиваем, какие конкретно роли разрешено добавлять в токен.
Authorization
Authorization Enabled: true
Revocation
Позволяет отозвать/пометить невалидными все сессии и токены, полученные ДО указананной даты. Кнопкной Set to now будет установлено Not Before на текущую дату, а затем через Push нужно отправить эту политику всем клиентам на настроенные для них Admin URL. На клиенте должен быть реализован API и функции, которые применяют эти политики, чтобы по факту начать отбрасывать невалидные токены и сессии.
Sessions
Позволяет смотреть текущии активные сессии для данного клиента
Offline Access
Позволяет посмотреть, кто и когда получил offline токены
Installation
Здесь просто можно сгенерировать конфиги для подключения приложений к keycloak
Service Account Roles
Позволяет задать роли для service-account пользователя текущего клиента, если Access Type: confidential и Service Accounts Enabled: true








