Настройки IdP
Раздел «Настройки IdP» включает встроенный провайдер идентификации локального инстанса и задаёт его общие параметры: адрес выдачи, сроки жизни токенов и сессий, поставщиков первого фактора для страницы входа, вход по Kerberos и ключи подписи. Настройки действуют на все приложения SSO; отдельному приложению часть сроков можно переопределить в его карточке.
Основные

- Включить IdP — публикует OIDC- и SAML-эндпоинты на локальном инстансе. С выключенной отметкой приложения SSO не работают;
- Issuer URL — базовый адрес IdP, например
https://2fa.company.local/idp. Должен совпадать с тем адресом, по которому страницу входа видит браузер пользователя: он попадает в метаданные и в сами токены, и приложение сверяет его при проверке; - Эндпоинты — адреса, которые понадобятся при настройке приложений. Появляются, как только заполнен Issuer URL: OpenID Configuration (
<Issuer URL>/.well-known/openid-configuration) и SAML-метаданные IdP (<Issuer URL>/saml/metadata). Рядом с каждым — кнопки «Скопировать» и «Скачать».
Сроки жизни задаются в минутах:
- Время жизни SSO-сессии — сколько действует сессия единого входа. Пока она активна, пользователь входит в приложения без повторной аутентификации;
- Время жизни access-токена — срок действия токена доступа, который приложение предъявляет за данными;
- Время жизни ID-токена — срок действия токена с профилем пользователя;
- Время жизни refresh-токена — по умолчанию совпадает со сроком SSO-сессии. Обновление работает, только пока сессия активна: с её завершением refresh-токены отзываются;
- Время жизни Authorization Code — от 1 до 30 минут. Это короткий код, который приложение обменивает на токены (OIDC);
- Время жизни SAML assertion — от 1 до 60 минут, значение
NotOnOrAfterв assertion; - Время жизни SAML SessionNotOnOrAfter — подсказка приложению о том, сколько держать сессию на своей стороне.
Последний параметр блока — «Макс. одновременных SSO-сессий на пользователя». Значение 0 снимает ограничение. Если лимит задан и достигнут, пользователю после подтверждения второго фактора показывается экран выбора сессии, которую нужно завершить. Список активных сессий — в разделе «SSO-сессии».
Аутентификация

- Поставщики учётных записей — поставщики первого фактора (LDAP или Keycloak), по которым проверяется пароль на странице входа IdP. При проверке используются все выбранные поставщики.
Пользователи

- Автоматическое создание пользователей — пользователь, которого ещё нет в Simple2FA, создаётся при первом входе через IdP;
- Группа пользователей по умолчанию — группа, которая назначается таким пользователям. От неё зависят и доступные способы второго фактора, и доступ к приложениям.
Kerberos / SPNEGO

Блок включает прозрачный вход по доменной сессии: браузер пользователя, вошедшего в домен, проходит страницу входа IdP без ввода логина и пароля.
- Kerberos / SPNEGO — включает Negotiate на странице входа IdP. Без keytab браузер увидит обычную форму входа;
- Путь к keytab — файл keytab внутри контура. Если задана переменная окружения
IDP_KERBEROS_KEYTAB, путь из окружения важнее указанного здесь; - SPN — имя участника службы, например
HTTP/idp.company.local@COMPANY.LOCAL. Это SPN хоста страницы входа IdP — того, что указан в Issuer URL, а не панели администратора. Записывается так же, как вsetspnиktpass.
Пропуск второго фактора после входа в операционную систему настраивается не здесь, а на стороне RADIUS-клиента (флаг «Вход в ОС», pam_radius); такая отметка действует столько же, сколько SSO-сессия.
Ключи подписи

Ключами подписываются токены OIDC и assertion SAML; открытые части публикуются в JWKS, по ним приложения проверяют подпись. В JWKS отдаётся не больше двух ключей.
Таблица содержит колонки ID ключа, Отпечаток SHA-256, Создан и Статус; у каждой записи есть «Скачать сертификат» и кнопка удаления. Статусы:
- Подписывает — ключ подписывает новые токены OIDC и SAML;
- Только проверка — ключ отдаётся в JWKS, но новым подписям не служит. В этом состоянии остаётся прежний ключ, пока по нему ещё проверяются выданные токены;
- Выведен — ключ убран из JWKS; запись о нём остаётся в списке.
Кнопка «Сгенерировать новый ключ» добавляет ключ. Если активных ключей уже два, самый старый из них уйдёт из JWKS — панель запросит подтверждение, потому что выданные по этому ключу токены перестанут приниматься. Обычный порядок ротации: сгенерировать новый ключ, дождаться, пока истекут токены, подписанные старым, и только потом выводить старый ключ.