1

我们正在将 FusionAuth 集成到 3 个 SaaS 应用程序的用户帐户/配置文件系统中。我们将建立大约 5 个角色,并且每个此类用户的入职流程都不同。

新用户注册可能是全新的,可能是现有的但新角色,或者可能是重新激活帐户。所以粗略地说,我们可能需要建立 3 x 5 x 2(新用户和回访用户)电子邮件用于帐户验证,然后是相同数量的欢迎电子邮件。每封电子邮件都有特定的说明文本、电子邮件主题和链接。

在 FusionAuth UI 中复制电子邮件模板的能力会很有用,但显然这不是一个完整的解决方案。如果我创建多个租户来支持我们的开发、测试和生产版本 - 能够维护版本化模板的主列表并将这些电子邮件模板版本中的任何一个链接到任何租户和应用程序真的很棒。

如果您熟悉 SendGrid - 版本化模板非常好,可以在模板中使用条件逻辑来减少必须维护的文档总数。

为了我的理智和与这些电子邮件相关的维护负担,我只想对这些帐户维护电子邮件使用 FusionAuth 或 SendGrid。由于 SendGrid 是更强大的电子邮件解决方案,因此它可能是更好的选择。

FusionAuth 的用户操作可以完成什么?是否可以从 FusionAuthUI 和 API 禁用所有 FusionAuth 电子邮件模板?

从我们的 UI 添加用户需要创建(或返回)FusionAuth 用户,设置 FusionAuth 应用注册,设置角色,然后触发必要的电子邮件。

如果所有这些都可以配置为创建/更新和配置用户然后触发 SendGrid 模板电子邮件的多步骤用户操作,那可能真的很酷。

4

1 回答 1

1

电子邮件模板的版本控制和重复选项是个好主意。FusionAuth 目前不支持 UI 中的电子邮件模板版本控制或复制/复制。您可以在 GitHub 中将这些作为功能请求打开吗?https://github.com/FusionAuth/fusionauth-issues/issues

我们确实支持模板中的条件逻辑。FusionAuth 文档中有一个简短的教程。https://fusionauth.io/docs/v1/tech/email-templates/email-templates

要构建条件逻辑,您基本上可以使用 FreeMarker 支持的任何东西。 https://freemarker.apache.org/

例如

[#if user.data.favoriteColor == "blue"]
  Hi ${user.firstName}, I see you like the color blue.
[#else]
  Hi ${user.firstName}, 
[/#if]

如果您有一些特定的用例或需要帮助在模板中构建逻辑,请随时在 FusionAuth Slack 频道寻求帮助或在此处提问。

也就是说 - SendGrid 在电子邮件游戏中,它们可能具有一些在 FusionAuth 中不可用的强大功能。如果您需要许多高级用户功能,我不会试图劝阻您不要使用 SendGrid。但是请打开功能请求,以便我们可以使我们的电子邮件模板尽可能有用。

FusionAuth 的用户操作可以完成什么?

用户操作是一种自由形式的事件,将使用我们的 Webhook 配置发送。它们只能用于 FusionAuth 中已经存在的用户,因此它可能不适合您的用例。除了用户操作之外,您还可以启用user.create等事件 - 如果有帮助,您可以在 FusionAuth 中响应这些类型的事件。

是否可以从 FusionAuthUI 和 API 禁用所有 FusionAuth 电子邮件模板?

不确定您的意思 - 您可以禁用 SMTP 电子邮件配置,该配置会隐式禁用所有电子邮件的使用。这可以通过系统配置 API 完成。 https://fusionauth.io/docs/v1/tech/apis/system#update-the-system-configurationsystemConfiguration.emailConfiguration.enabled。FusionAuth首先是一个API,所以你可以在API中做的所有事情都可以通过API来做。

如果所有这些都可以配置为创建/更新和配置用户然后触发 SendGrid 模板电子邮件的多步骤用户操作,那可能真的很酷。

用户操作对这个用例没有帮助。但是,您可以通过更少的 API 调用来完成此操作。如果您知道用户还不存在,您可以使用 Combo API(创建用户 + 注册)一步创建和注册用户。 https://fusionauth.io/docs/v1/tech/apis/registrations#create-a-user-and-registration-combined

如果您在此请求中省略角色,将为用户分配在应用程序上配置的任何默认角色。

如果您启用注册验证,这将向用户发送您选择的电子邮件。这主要是为了验证打算注册应用程序的用户。

自定义工作流程的想法是一个很好的想法,但是,请随时在 GitHub 上打开一个问题。我将其设想为应用程序的工作流构建器。

例子:

On user registration:
1. Assign role(s): [x] user
                   [ ] manager
                   [ ] admin

2. Send email: [select box for email template]
于 2019-04-22T15:31:49.787 回答