Ошибка аутентификации LDAP – ActiveSupport::MessagePack::UnserializableObjectError

Всем привет,

Я использую плагин discourse-ldap-auth на саморазмещённом Discourse (установка через Docker).
После недавнего обновления аутентификация LDAP перестала работать для всех пользователей.

Вот соответствующая ошибка из production.log:

(ldap) Authentication failure! ldap_error: ActiveSupport::MessagePack::UnserializableObjectError,
Unsupported type Net::BER::BerIdentifiedString for object “******** (Kullanıcı Teknolojileri Yönetim Müdürlüğü)”
Started GET “/auth/failure?message=ldap_error&origin=http%3A%2F%2Fic*ot*rol.va**fb*nk.intra%2Flogin&strategy=ldap”
Processing by Users::OmniauthCallbacksController#failure as HTML
Completed 200 OK

Детали

  • Проблема затрагивает всех пользователей LDAP.

  • У всех пользователей в нашем каталоге LDAP значения поля displayName содержат турецкие символы (ğ, ü, ş, İ и т. д.).

  • Ошибка возникает сразу после попытки аутентификации через LDAP — ни один пользователь не может войти в систему.

Это общая проблема с последней версией Discourse? Может ли это быть связано с несовместимостью Ruby? Какое решение вы предлагаете?

1 лайк

Всем привет и Osmanmermer,
У нас уже несколько дней наблюдается одна и та же ошибка:
(ldap) Authentication failure! ldap_error: ActiveSupport::MessagePack::UnserializableObjectError, Unsupported type Net::BER::BerIdentifiedString for object "username"

  • В данный момент проблема затрагивает только что созданных пользователей LDAP, которые ещё ни разу не входили в систему
  • Она не зависит от специальных символов
1 лайк

Я перенёс это в bug, на случай если это ошибка, появившаяся недавно, так как она, похоже, затронула два сайта схожим образом.

Что-то изменилось на вашей стороне с прошлой недели? Помогло ли повторное обновление?

Ой, только заметил, что это не официальный плагин, поэтому он не поддерживается официально. Также я не могу сразу найти тему этого плагина. Нам стоит перенести обсуждение туда. Кто-нибудь может помочь найти её? Я сейчас в пути и не за своим рабочим столом.

1 лайк

Здравствуйте, речь идет об обновлении до версии 3.6.0.beta2, и ошибка у нас возникает только при создании новых учетных записей (режим создания пользователей LDAP). Существующие учетные записи могут продолжать входить в систему. После отката до версии 3.6.0.beta1 всё снова работает нормально. Плагин аутентификации LDAP не менялся.

Сожалеем, что у вас возникли проблемы! К сожалению, плагин аутентификации LDAP разработан не нами, в Discourse, поэтому он не поддерживается. У него даже нет темы #plugin здесь. Если вам нужна помощь с ним, свяжитесь с автором на GitHub или создайте тему Marketplace, чтобы узнать, есть ли в сообществе эксперт, готовый помочь.