用户数据似乎已损坏

我们有一位用户存在以下问题:

  • 使用 API gem 时,/users/#{username}.json 端点间歇性返回“URL 不可用”错误;
  • 该用户的较小头像缺失:

除此之外,我们未发现该用户有任何其他异常。事实上,我们最近搭建了一个从生产环境备份数据填充的测试服务器,该用户在测试服务器上一切正常。

是否有办法进行数据完整性检查,以确认是否存在数据问题?

我们已收到多份与 SSO 相关的此类报告。您的网站是否使用 SSO?看起来 SSO 调用的构建方式在登录时更改了用户数据。

非常有趣。原来我们正在 Procourse 会员系统的基础上开发一套会员系统。预发布服务器用于隔离开发工作,此时 SSO 已关闭;而生产系统(即出现错误的系统)的 SSO 仍处于开启状态。好消息是(对我们而言),几天后我们正式上线时,生产系统的 SSO 将关闭。我们可以暂时搁置该问题(目前仅影响一位用户),等到那时再处理。

对于其他用户,以下是 API gem 接收到的错误信息:DiscourseApi::NotFoundError, {"errors"=>["The requested URL or resource could not be found."], "error_type"=>"not_found"}。尽管听起来有些可疑,但该错误仅在每次尝试调用时偶发,且仅影响 250 名用户中的同一位用户。

这可能与 SSO 无关。我们现已确认 SSO 已关闭,返回 Discourse 登录页面,设置如下:

但仍有以下错误:

{"errors"=>["请求的 URL 或资源未找到。"], "error_type"=>"not_found"}

原因不明,仅影响单个用户。

似乎这位用户出现了问题。当我们尝试在管理后台更改该用户的个人资料时,更改无法保存:

对于修复损坏的用户记录,有什么建议吗?是可以通过导出/导入、复制,还是必须删除后重新开始?我假设应该有一条推荐的途径来纠正问题记录?

已解决:似乎通过重新输入一个新用户名修复了该用户问题,但随后又改回旧用户名,之后便一直正常工作。我说“重新输入”,是因为之前尝试对用户名末尾做小修改时失败了。不确定原因,但怀疑可能是某个奇怪的不可见字符混入了用户名?此外,该用户(至今仍)拥有一个其他用户名没有的大写字母,例如 First_McLastname