Сквозная аутентификация
Сквозная аутентификация направляет пользователя в интерфейс HRlink без ввода логина и пароля. Интегратор формирует JWT с данными пользователя и перенаправляет браузер по redirect-ссылке ESAESA Сервис аутентификации внешних систем (esa.hr-link.ru). Через ESA интеграторы получают мастер-токены и реализуют сквозную аутентификацию..
Сквозная аутентификация использует тот же сертификат, iss и sub, что и мастер-токен. Если интегратор ещё не зарегистрирован, сначала выполните шаги из раздела Регистрация интегратора.
Шаг 1. Сформировать JWT
Header:
{
"alg": "RS256",
"typ": "JWT"
}
Payload:
{
"iss": "MyCompany",
"sub": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"aud": "esa.hr-link.ru",
"thn": "company.hr-link.ru",
"uid": "user-id-value",
"uit": "EXTERNAL_ID",
"iat": 1680000000,
"nbf": 1680000000,
"exp": 1680000600
}
| Поле | Описание |
|---|---|
iss | Издатель из регистрации интегратора |
sub | IDid Внутренний идентификатор сущности в формате UUID, генерируемый HRlink при создании. Неизменяемый, используется во всех внутренних операциях. интегратора |
aud | Всегда esa.hr-link.ru |
thn | Хост тенантаTenant Экземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов.. Если не передать, HRlink определит тенантTenant Экземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов. по пользователю и интегратору |
uid | Идентификатор пользователя |
uit | Тип идентификатора: HR_LINK_ID, SNILS или EXTERNAL_ID |
est | Тип внешней системы при использовании EXTERNAL_ID, опционально |
iat, nbf, exp | Временные метки, Unix timestamp в секундах |
Подпишите JWT приватным ключом интегратора. Рекомендуемый алгоритм — RS256.
Шаг 2. Сформировать redirect-ссылку
Направьте пользователя по URL:
https://esa.hr-link.ru/redirect?code={JWT}&path={URL_ENCODED_PATH}&type=PASS_THROUGH_AUTH
| Параметр | Описание |
|---|---|
code | Подписанный JWT из шага 1 |
path | URL-encoded путь, на который ESAESA Сервис аутентификации внешних систем (esa.hr-link.ru). Через ESA интеграторы получают мастер-токены и реализуют сквозную аутентификацию. перенаправит пользователя после авторизации |
type | Всегда PASS_THROUGH_AUTH |
ESAESA Сервис аутентификации внешних систем (esa.hr-link.ru). Через ESA интеграторы получают мастер-токены и реализуют сквозную аутентификацию. проверит JWT, авторизует пользователя и перенаправит его на указанный путь в HRlink.
Не отправляйте ссылки сквозной аутентификации в email-уведомления и другие каналы, где ссылку может открыть другой человек.
Ошибки сквозной аутентификации
| errorCode | Причина |
|---|---|
51.205 | Истёк JWT (exp в прошлом) |
51.206 | Нет обязательного поля: uid, uit, iss, sub или другого |
51.207 | Подпись не прошла проверку |
51.211 | Неподдерживаемый тип идентификатора в uit |
51.300 | ТенантTenant Экземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов. из thn не найден |
51.400 | Пользователь не найден в указанном тенантеTenant Экземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов. |
51.401 | Пользователь связан с несколькими тенантамиTenant Экземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов. интегратора; передайте thn явно |