Прежде чем приступить к настройке, запросите у администратора keycloak следующую информацию:
Примечание: В Keycloak SLO URL часто совпадает с ACS URL.
Откройте ваш файл конфигурации (app-settings.json) и внесите изменения в следующие секции.
Здесь можно посмотреть пример файла конфигурации.
Найдите секцию SAML.Configurations. Внутри нее находится массив PartnerServiceProviderConfigurations. Вам нужно добавить в этот массив новый объект для Keycloak.
Пример объекта для добавления:
{
"Name": "https://my-keycloak.company.com/auth/realms/my-realm",
"SignSamlResponse": true,
"ValidAssertionConsumerServiceUrls": [
"http://localhost:8080"
],
"SingleLogoutServiceUrl": "https://my-keycloak.company.com/auth/realms/my-realm/broker/saml/endpoint"
}
Замените примеры URL и Name на реальные данные, полученные на Шаге 1. Параметр SignSamlResponse должен быть установлены в true, чтобы Indeed подписывал свои ответы.
Найдите секцию AuthenticationSettings.LoginFormats. Добавьте в этот массив новый объект, чтобы указать, какой атрибут пользователя использовать в качестве NameID для Keycloak.
Пример объекта для добавления:
{
"ServiceProvider": "https://my-keycloak.company.com/auth/realms/my-realm",
"InLoginFormat": "Name",
"OutLoginFormat": "PrincipalName"
}Для корректной работы Keycloak должен получать информацию о пользователе (email, имя, фамилия). Настройте передачу этих атрибутов в секции AuthenticationSettings.CustomAttributes. Добавьте в этот массив новый объект для Keycloak.
Пример объекта для добавления:
{
"ServiceProvider": "https://my-keycloak.company.com/auth/realms/my-realm",
"Attributes": [
{
"Name": "email",
"UserNameFormat": "email"
},
{
"Name": "given_name",
"UserNameFormat": "firstName"
},
{
"Name": "family_name",
"UserNameFormat": "lastName"
},
{
"Name": "preferred_username",
"UserNameFormat": "PrincipalName"
}
]
}Этот блок сопоставляет внутренние поля пользователя Indeed (email, firstName и т.д.) с именами атрибутов, которые будут отправлены в SAML-утверждении. Сообщите администратору Keycloak имена этих атрибутов (Name), чтобы он мог настроить их прием.
После сохранения конфигурации и перезапуска сервиса Indeed, предоставьте администратору Keycloak следующие данные о вашем IdP:
После того как администратор Keycloak внесет эти данные в свою систему, интеграция будет готова к тестированию.