Команда Пачки
Демонстрация Пачки
Живой разговор с нашим экспертом,
не больше получаса
Узнаете, как быстро перейти в Пачку из Slack, Telegram или другого мессенджера
Сориентируетесь по ценам и скидкам
Посмотрите, как работает Пачка: основные функции и интеграции
Передовые компании выбирают Пачку
Логотип МФТИЛоготип Lamoda
Демонстрация Пачки
Мы свяжемся с вами в течение дня и договоримся о времени.
Спасибо! Ваша заявка была получена!
Запись в данный момент недоступна. Попробуйте ещё раз позднее.

SSO в Пачке с Indeed IdP по SAML

1. Получение информации от администратора Keycloak (SP)

Прежде чем приступить к настройке, запросите у администратора keycloak следующую информацию:

  • SP Entity ID (Идентификатор поставщика услуг)
    • Пример: https://my-keycloak.company.com/auth/realms/my-realm
  • Assertion Consumer Service (ACS) URL
    • Пример: https://my-keycloak.company.com/auth/realms/my-realm/broker/saml/endpoint
  • Single Logout (SLO) URL (если требуется)
    • Пример: https://my-keycloak.company.com/auth/realms/my-realm/broker/saml/endpoint
Примечание: В Keycloak SLO URL часто совпадает с ACS URL.

2. Конфигурация файла настроек Indeed

Откройте ваш файл конфигурации (app-settings.json) и внесите изменения в следующие секции.

Здесь можно посмотреть пример файла конфигурации.

2.1. Добавление нового Service Provider

Найдите секцию 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 подписывал свои ответы.

2.2. Определение формата логина

Найдите секцию AuthenticationSettings.LoginFormats. Добавьте в этот массив новый объект, чтобы указать, какой атрибут пользователя использовать в качестве NameID для Keycloak.

Пример объекта для добавления:

{
  "ServiceProvider": "https://my-keycloak.company.com/auth/realms/my-realm",
  "InLoginFormat": "Name",
  "OutLoginFormat": "PrincipalName"
}

2.3. Настройка передачи атрибутов пользователя (обязательно)

Для корректной работы 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), чтобы он мог настроить их прием.

3. Предоставление информации администратору Keycloak

После сохранения конфигурации и перезапуска сервиса Indeed, предоставьте администратору Keycloak следующие данные о вашем IdP:

  1. IdP Entity ID (Issuer)
    1. urn:indeedid:saml_idp
  2. Single Sign-On (SSO) URL
    1. https://indeed.company.com/am/idp/Account/SsoService
  3. SLO URL
    1. https://indeed.company.com/am/idp/Account/SloService
  4. Публичный сертификат
    1. Экспортируйте публичную часть сертификата (отпечаток 57CB4...) в формате .cer или .pem

После того как администратор Keycloak внесет эти данные в свою систему, интеграция будет готова к тестированию.

Обновлено 
8.10.2025
Все статьи по теме:
No items found.