User Data Appears Corrupt

We have a single user for whom:

  • The /users/#{username}.json endpoint intermittently fails with “URL not available” (using the API gem), and

  • The user’s smaller profile picture is missing:

Otherwise, we cannot see anything wrong about this user. In fact, we recently set up a staging server populating data from a backup of our live system, and the user is fine on the staging server.

Any way to do a data integrity check to see if there is a data issue?

We’ve seen several reports of this related to SSO. Does your site use SSO? It looks like something in the way the SSO call is constructed is changing the user’s data at login time.

Very interesting. Turns out we’re developing a membership system on top of Procourse Memberships. The staging server is staging that development work w/SSO turn OFF and the live system (where we’re getting the error) still has SSO turned ON. The good news (for us) is that SSO will be OFF on our live systems in just a few days when we go live. We can live the issue (effecting just one user) until then.

For others, here’s the error as received by the api gem: DiscourseApi::NotFoundError, {"errors"=>["The requested URL or resource could not be found."], "error_type"=>"not_found"}. As suspect as it sounds, it only happens like every other time the call is attempted, and then only on the same single one in 250 users.

결국 SSO와 관련이 없을 수도 있습니다. 현재 SSO를 끄고 Discourse 로그인 페이지로 되돌린 상태이며, 설정은 다음과 같습니다:

그러나 여전히 다음과 같은 오류가 표시됩니다:

{"errors"=>["요청한 URL 또는 리소스를 찾을 수 없습니다."], "error_type"=>"not_found"}

어떤 이유인지 모르겠지만 특정 사용자 한 명에게만 나타납니다.

이 문제는 특정 사용자 한 명에게만 발생하는 것 같습니다. 관리자 화면에서 해당 사용자의 프로필을 수정하려고 하면 저장되지 않습니다:

손상된 사용자 기록을 수정하는 방법에 대해 조언이 있을까요? 내보내기/가져오기, 복사 등을 사용할 수 있나요, 아니면 삭제하고 처음부터 다시 시작해야 하나요? 문제 있는 기록을 수정하는 데 권장되는 절차가 있다고 생각하는데, 어떤가요?

해결: 새 사용자 이름을 다시 입력한 후 원래의 사용자 이름으로 돌아가니 그 이후로는 문제가 없었습니다. '다시 입력’이라고 한 이유는, 이전에 사용자 이름 끝에 작은 변경을 시도했을 때 실패했기 때문입니다. 확실하지는 않지만, 사용자 이름에 보이지 않는 이상한 문자가 섞여 들어간 것이 아닌가 의심됩니다. 또한, 이 사용자는 다른 사용자 이름에는 없는 대문자 하나가 더 있었으며(현재도 있습니다), 예를 들어 First_McLastname와 같은 형태였습니다.