죄송하지만 동의하지 않습니다. 이것이 버그가 아니라 기능 요청일 수 있다고 보지 않습니다.
다른 API 엔드포인트를 사용할 수 있다는 점은 이해합니다. 하지만 /admin/users/sync_sso의 핵심 목적은 바로 이러한 데이터를 동기화 상태로 유지하는 것입니다. 계정 이름 필드를 설정할 수 있는 기능은 이미 존재하며 잘 작동합니다. 그러나 이름은 항상 필수 필드라고 가정하며 빈 값으로 설정하는 것을 허용하지 않습니다. 따라서 이를 통해 데이터를 동기화 상태로 유지할 수 없습니다.
아래 코드는 제 샌드박스 환경에서 예상대로 작동하는 것 같습니다. 하지만 아직 PR을 제출할 만큼 자신감이 부족합니다. 자유롭게 사용하거나 수정해 주십시오.
- if SiteSetting.sso_overrides_name && user.name != name && name.present?
- user.name = name || User.suggest_name(username.blank? ? email : username)
+ if SiteSetting.sso_overrides_name && user.name != name
+ if SiteSetting.full_name_required && name.present?
+ user.name = name || User.suggest_name(username.blank? ? email : username)
+ else
+ user.name = name
+ end