Управление шаблонами электронной почты в FusionAuth - PullRequest
0 голосов
/ 22 апреля 2019

Мы интегрируем FusionAuth в нашу систему учетных записей / профилей пользователей для 3 приложений SaaS.У нас будет установлено около 5 ролей, и процесс адаптации для каждого такого пользователя будет другим.

Регистрация нового пользователя может быть новой, существующей, но для новой роли, или может быть повторной активацией учетной записи.,Таким образом, грубо говоря, нам может потребоваться создать 3 x 5 x 2 (новых и возвращающихся пользователей) электронных писем для подтверждения аккаунта, а затем такое же количество приветственных писем.Каждое письмо будет содержать конкретный учебный текст, тему письма и ссылки.

Возможность дублировать шаблоны электронной почты в пользовательском интерфейсе FusionAuth была бы полезной, но, очевидно, это не полное решение.Если бы я создал несколько арендаторов для поддержки наших разработок, тестирований и производственных выпусков - было бы здорово иметь возможность вести основной список версий шаблонов и связывать любую из этих версий шаблонов электронной почты с любым арендатором и приложением.

Если вы знакомы с SendGrid - там очень удобны версионные шаблоны, а также условная логика, которую можно использовать в шаблонах для сокращения общего количества документов, которые должны поддерживаться.

Для моегоВ целях безопасности, связанных с этими электронными письмами, я хотел бы использовать только FusionAuth или только SendGrid для этих писем по обслуживанию аккаунта.Поскольку SendGrid является более надежным решением для электронной почты, он может быть лучшим выбором.

Что можно сделать с помощью действий пользователя FusionAuth?Могут ли все шаблоны электронной почты FusionAuth быть отключены из FusionAuthUI и API?

Для добавления пользователя из нашего пользовательского интерфейса потребуется создать (или вернуть) пользователя FusionAuth, настроить регистрацию приложения FusionAuth, установить роль, а затем вызватьнеобходимый адрес электронной почты.

Было бы здорово, если бы все, что можно настроить как многоступенчатое действие пользователя, создает / обновляет и настраивает пользователя, а затем запускает электронную почту шаблона SendGrid.

1 Ответ

1 голос
/ 22 апреля 2019

Варианты управления версиями и дублирования шаблонов электронной почты - отличные идеи. В настоящее время FusionAuth не поддерживает управление версиями шаблонов электронной почты или копирование / дублирование в пользовательском интерфейсе. Можете ли вы открыть их как запросы функций в 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, если это полезно.

Можно ли отключить все шаблоны электронной почты FusionAuth из FusionAuthUI и API?

Не уверен, что вы имеете в виду - вы можете отключить настройку электронной почты SMTP, которая неявно отключает любое использование электронной почты. Это может быть сделано через API конфигурации системы. https://fusionauth.io/docs/v1/tech/apis/system#update-the-system-configuration См. systemConfiguration.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]
...