LDAP 인증 오류 – ActiveSupport::MessagePack::UnserializableObjectError

안녕하세요,

자체 호스팅된 Discourse(Docker 설치)에서 discourse-ldap-auth 플러그인을 사용 중입니다.
최근 재빌드 이후 모든 사용자의 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개의 좋아요

최근에 도입된 버그일 수 있으므로, 비슷한 방식으로 두 사이트가 영향을 받은 것으로 보아 Contribute > Bug 채널로 옮겼습니다.

지난주 이후로 사용자 측에서 변경된 사항이 있나요? 업데이트를 다시 실행한 후 문제가 해결되었나요?

아까 이 플러그인이 공식 플러그인이 아니라 공식적으로 지원되지 않는다는 걸 이제야 알았어요. 또한 플러그인 관련 토론 주제를 바로 찾지 못하고 있어요. 이 내용을 해당 토론으로 옮기는 게 좋을 것 같아요. 혹시 누가 찾아서 알려줄 수 있을까요? 지금은 이동 중이라 책상에 앉아 있지 못해요.

1개의 좋아요

안녕하세요, 3.6.0.beta2 업데이트와 관련된 문제입니다. 저희 환경에서는 새로 생성된 계정(LDAP 사용자 생성 모드)에만 오류가 발생합니다. 기존 계정은 여전히 로그인할 수 있습니다. 3.6.0.beta1로 되돌리면 다시 모든 것이 정상적으로 작동합니다. LDAP 인증 플러그인은 변경되지 않았습니다.

불편을 드려 죄송합니다! 불행히도 LDAP 인증 플러그인은 Discourse에서 직접 작성한 것이 아니기 때문에 지원되지 않습니다. 여기에는 Customization > Plugin 토픽조차 없습니다. 도움이 필요하시면 GitHub에서 저자에게 연락하거나, 커뮤니티 내 전문가가 이 작업을 수행할 수 있는지 확인하기 위해 Marketplace 토픽을 시작해 보세요.