Raketa Travel поддерживает технологию единого входа (single sign-on, SSO) через SAML 2.0. Поставщиком учётных данных (identity provider, IDP) SAML 2.0 может быть любая система, в том числе, собственная инсталляция Active Directory Federation Services (ADFS) сервера.

ADFS – это сервис, предоставляемый Microsoft как стандартная роль Windows Server. Она предоставляет возможность входить в WEB-сервисы, используя существующие данные аутентификации Active Directory. В большинстве случаев это логин/пароль от доменной учётной записи.

1. Подготовка

Для использования ADFS необходимо иметь:

Мы предоставляем:

После всех необходимых настроек вам следует предоставить:

После удовлетворения базовых требований установите ADFS. Конфигурация и установка подробно описаны в базе знаний Microsoft:

https://docs.microsoft.com/ru-ru/windows-server/identity/ad-fs/deployment/deploying-a-federation-server-farm

После полной установки ADFS посмотрите значение "SAML 2.0/W-Federation" в разделе "Конечные точки". Если вы не меняли настройки во время установки, то значение будет "/adfs/ls/".


2. Добавление Отношения доверия проверяющей стороны

В этот момент вы уже готовы настроить связь между ADFS и Raketa Travel. Эта связь устанавливается через Отношения доверия проверяющей стороны.

image

Откройте директорию "Отношения доверия проверяющей стороны" в оснастке "Управление AD FS". На панели действий выберите "Добавить отношения доверия проверяющей стороны". Это действие запустит мастер настройки.

image

На шаге "Выбор источника данных" выберите "Ввод данных о проверяющей стороне вручную".

image

На следующем шаге укажите любое желаемое имя и примечания.

image

Если на следующем шаге предлагается выбрать профиль, выберите "Профиль AD FS" ("AD FS profile").

На шаге "Настройка сертификата", дополнительный сертификат указывать не нужно.

image

На шаге "Настройка URL-адреса" включите поддержку протокола SAML 2.0 WebSSO и введите предоставленный нами URL логина в формате https://raketa.travel/sso/acs?clientId=YOUR_CLIENT_ID

image

На шаге "Настройка идентификатора" введите "https://raketa.travel" и нажмите кнопку "Добавить".

image

На следующих шагах вы можете настроить дополнительные параметры, применяемые к данному Отношению.

3. Настройка политики подачи запросов

После создания Отношения доверия проверяющей стороны необходимо настроить политику подачи запросов. Для этого в контекстном меню Отношения выберите "Изменить политику подачи запросов".

image

image

В открывшемся окне необходимо добавить 2 правила.

Первое правило:

image

image

Второе правило.

image

image

4. Дополнительная настройка Отношения доверия

После настройки политик подачи запросов необходимо дополнительно настроить Отношение. Для этого в контекстном меню Отношения выберите "Свойства".

image

На вкладке "Дополнительно" убедитесь, что выставлен алгоритм хеширования SHA-256.

image

На вкладке "Конечные точки" добавьте точку завершения сеанса. Для этого нажмите кнопку "Добавить SAML". В открывшемся окне укажите:

image

image

5. Получение отпечатка сертификата подписи токена

Подтверждение входящих запросов на стороне Raketa Travel происходит с использованием отпечатка токена подписи ADFS. Для его получения откройте консоль PowerShell от имени пользователя с правами администратора и выполните команду

Get-AdfsCertificate Token-Signing.

Вы найдете отпечаток в строке вывода Thumbprint.

image