我们能否访问其他用户的SSO记录中的external_id?

我们没有问题使用以下方法从当前登录用户的 SSO 记录中访问 external_id

api.getCurrentUser().external_id

但是,当当前登录用户查看他人个人资料摘要(例如,X व्यक्ती)时,我们有一些按钮/链接。此 external_id 是我们网站上的主要标识符,我们将使用它来进行网站上的某些重定向和操作。使用管理员用户 API 可以实现,但显然不能用于非管理员用户帐户。

这是否可行以及如何实现?

我认为您想要一个将 external_id 添加到用户序列化器的插件。

类似这样:

  add_to_serializer(:user, :external_id) do
     object.external_id
  end
3 个赞

我认为它会是这样的:

# 在插件的 after_initialize 块中
after_initialize do

# 编辑:可能还需要检查以确保 `SiteSetting.enable_discourse_connect` 返回 `true`
  add_to_serializer(:user, :external_id) {object&.single_sign_on_record&.external_id}
end

external_idsingle_sign_on_record 的属性,而不是 user 的。我记得是因为我曾处理过:

3 个赞

感谢大家的意见,我们最终通过自定义用户字段来实现,该字段在登录时从我们的应用程序同步。

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.