创建和配置自定义用户字段

语法应该是 custom.user_field_x,其中 x 是在 /admin/config/user-fields/{x}/edit 中显示的数字字段 ID。

Auth0 插件本身不提供此映射功能。

不过,仍有其他方法可以实现您所描述的功能:

  • 创建主题组件。您可以添加一个小型前端脚本,自动将 Discourse 自定义用户字段与 Auth0 中已存储的值同步。例如,当用户登录且字段为空时,脚本可以调用一个安全的端点(一个小型云函数),从 Auth0 获取字段值,并通过 API 更新 Discourse 配置文件。
  • 使用自动化工具。您还可以使用 Zapier 或 Make 等外部自动化服务,在 Discourse 之外执行同步。优点是您不必编写/维护代码,只需为第三方服务付费。
  • 定制开发。我们可以扩展 Auth0 插件本身,使其在登录时原生支持将自定义声明映射到用户字段,或者构建一个与 Auth0 插件配合使用的自定义插件。

主题组件方法的明显缺点是您需要自己编写和维护自定义代码,同时还要注意安全问题,避免引入潜在的错误或漏洞。老实说,我不会推荐这种解决方案用于您这样的生产环境。

如果我处于您的位置,我会更倾向于第二种选择,即使用第三方工具,或者考虑提交功能请求或定制工作请求(取决于我们项目经理的评估),以增强 Auth0 插件本身。

如果您有兴趣探索最后一种选择,我们可以私下继续讨论。

1 个赞