Buff Development
Единый вход (SSO)

Устранение неполадок

Что означают сообщения об ошибках единого входа и как их исправить: настройка провайдера, redirect URI, подпись, сертификат, время, email.

Ошибка показывается сотруднику словами на экране входа; та же причина записывается в журнал аудита организации (событие session.sso_login с результатом «отказ»), поэтому владелец видит её без пересказа.

На экране «Вход через SSO компании»

СообщениеПричинаЧто сделать
Единый вход для домена … не настроендомен не подтверждён (или подтверждён другой организацией)подтвердить домен (Домены компании) или войти по имени организации
Единый вход для организации … не настроену организации нет подключениявладелец настраивает раздел «Единый вход»
укажите рабочий email или имя организациивведено что-то, что не похоже ни на email, ни на имяпроверьте написание

После возврата от провайдера

Сообщения начинаются с «IdP не подтвердил вход:» и продолжаются причиной.

ПричинаЧто это значитЧто сделать
invalid_client / unauthorized_clientпровайдер не принял client_id или client_secretперепроверить оба; секрет вводится заново в форме
invalid_grant / redirect_uri mismatchу провайдера зарегистрирован другой Redirect URI, либо код авторизации уже использован или истёкскопировать Redirect URI из блока «Данные для настройки» точно, до последнего символа
unexpected JWT "iss" / issuer mismatchIssuer URL в Buff не совпадает с тем, что провайдер пишет в токенеуказать issuer ровно как в документе обнаружения (без завершающего /, тот же хост и схема)
nonce / state mismatchвход начат в одной вкладке, а завершён в другой, или прошло больше 15 минутначать вход заново
Invalid signature / Invalid document signatureSAML: подпись не сходится с сертификатом в Buffвставить актуальный сертификат подписи провайдера; при ротации — оба
Unable to verify without a signature / wantAssertionsSignedSAML: провайдер не подписывает утверждениевключить подпись утверждений у провайдера (Keycloak: Sign assertions = On)
SAML assertion audience mismatchEntity ID у провайдера отличается от нашегозарегистрировать у провайдера Entity ID из блока «Данные для настройки» (у каждой организации свой)
SAML assertion expired / not yet validчасы провайдера и Buff расходятся больше чем на 5 минутсинхронизировать время на стороне провайдера (NTP)
InResponseTo … not found / ответ IdP уже был использованответ не соответствует запросу, отправленному Buff, либо повторно отправленначать вход заново; IdP-initiated вход не поддерживается
IdP не передал emailв токене или утверждении нет адреса почтыOIDC: добавить scope email и клейм; SAML: добавить атрибут email (см. примеры в Настройке)
аккаунт не найден, а автоматическое создание участников выключеноновый сотрудник при выключенном флажкевключить «Создавать аккаунт при первом входе» или пригласить сотрудника заранее
сессия входа не найдена или истекламежду началом входа и возвратом прошло больше 15 минут или вход начат в другом браузереначать заново из той же вкладки

На экране входа по паролю

«Вход по паролю отключён: организация … требует единый вход» — включён режим «Только единый вход». Нажмите «Войти через SSO компании». Владелец организации может войти по паролю всегда.

Сохранение настроек

СообщениеЧто сделать
IdP недоступен или отвечает невернопроверьте Issuer URL в браузере: по адресу <issuer>/.well-known/openid-configuration должен открываться JSON; провайдер должен быть доступен из интернета по https
issuer: только https / entry_point: только httpsпровайдер без TLS не принимается; исключение только для тестовых стендов
idp_certs: вставьте сертификат в формате PEMсертификат должен быть обрамлён строками -----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----
TXT-запись … не найденазапись ещё не разошлась по DNS или опубликована с другим именем/значением; проверить dig TXT _buff-sso.<домен>
этот домен уже подтверждён другой организациейдомен занят; напишите в поддержку, если это ваш домен

Если ничего не помогает

Напишите в поддержку, приложив из журнала аудита время события и текст причины — этого достаточно для разбора. Секретов в журнале нет, присылать их не нужно.

On this page