Устранение неполадок
Что означают сообщения об ошибках единого входа и как их исправить: настройка провайдера, 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 mismatch | Issuer URL в Buff не совпадает с тем, что провайдер пишет в токене | указать issuer ровно как в документе обнаружения (без завершающего /, тот же хост и схема) |
nonce / state mismatch | вход начат в одной вкладке, а завершён в другой, или прошло больше 15 минут | начать вход заново |
| Invalid signature / Invalid document signature | SAML: подпись не сходится с сертификатом в Buff | вставить актуальный сертификат подписи провайдера; при ротации — оба |
| Unable to verify without a signature / wantAssertionsSigned | SAML: провайдер не подписывает утверждение | включить подпись утверждений у провайдера (Keycloak: Sign assertions = On) |
| SAML assertion audience mismatch | Entity 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.<домен> |
| этот домен уже подтверждён другой организацией | домен занят; напишите в поддержку, если это ваш домен |
Если ничего не помогает
Напишите в поддержку, приложив из журнала аудита время события и текст причины — этого достаточно для разбора. Секретов в журнале нет, присылать их не нужно.