Регистрация пользователей — важнейший аспект большинства веб-приложений, и ее отслеживание может дать ценную информацию. Получение уведомления о регистрации нового пользователя — это не только знание цифр, но и немедленное вовлечение пользователя. Например, вы можете отправить приветственное сообщение или познакомить их со специальными бонусами или предложениями за регистрацию, как только они пройдут аутентификацию в вашей системе. Когда дело доходит до аутентификации пользователей, Authgear предоставляет обширный набор функций аутентификации. Что, если вы хотите получать немедленные уведомления в Slack при регистрации нового пользователя?

Для этого существует множество инструментов с низким кодом, таких как Zapier и N8n. Однако с Authgear вы можете интегрировать как аутентификацию, так и отправку сообщений. Эта статья проведет вас через процесс интеграции Hooks and Events Authgear со Slack, чтобы добиться именно этого.

Почему Authgear?

Поскольку Authgear — это платформа идентификации как услуги (IDaaS), которая поддерживает различные методы аутентификации, такие как вход через социальные сети, без пароля, вход с использованием биометрических данных, одноразовый пароль (OTP) ) с помощью SMS/WhatsApp и т. д. Он имеет встроенные настраиваемые страницы входа, вам не придется тратить время на разработку пользовательского интерфейса и реализацию сложных потоков аутентификации. Он разработан с учетом удобства для разработчиков и имеет хуки для реагирования на различные события, связанные с пользователем. Authgear предлагает редактор кода в браузере, в котором вы можете написать код JavaScript/Typescript, чтобы добавить дополнительную логику, которая хранится и выполняется в бессерверной инфраструктуре, поддерживаемой Authgear. Мы собираемся использовать эту возможность для отправки сообщения Slack после регистрации нового пользователя.

Предварительные условия

  • Учетная запись Authgear: Если у вас ее нет, вы можете зарегистрировать бесплатную учетную запись Authgear.
  • Настройте приложение в Authgear. Подойдет любое веб-приложение, мобильное или настольное приложение. Если у вас нет приложений, использующих Authgear, вы можете создать его, перейдя на страницу Начать сборку Authgear.
  • Учетная запись Slack. Если у вас нет учетной записи Slack, зарегистрируйте новую бесплатную учетную запись здесь и перейдите на страницу Начало работы Slack.
  • Рабочая область Slack. Вам необходим доступ к рабочей области Slack, администратором которой вы являетесь. Если вы создаете просто новое рабочее пространство, следуйте данному руководству.

Настройка Slack Webhook

Прежде чем интегрировать Authgear, вам необходимо создать вебхук в Slack.

Создайте рабочее пространство Slack

Как видите, я создал новое рабочее пространство под названием authgear-example-sign-up:

Создал там новую учетную запись администратора:

Запустили новый канал Slack с именем notification-sign-up, где мы получаем уведомление, когда пользователь регистрируется:

Создайте Slack-приложение

Перейдите на страницу Slack API и создайте новое приложение с нуля. Мы используем его для отправки информации о вебхуке:

На следующем шаге вы указываете имя приложения и выбираете рабочую область, к которой хотите подключить приложение. Убедитесь, что это правильное приложение, поскольку вы не сможете изменить рабочую область приложения позже. Выбрав рабочую область, нажмите Создать приложение.

Включить входящие вебхуки

В разделе «Добавление функций и функциональности» нажмите «Входящие веб-перехватчики» и активируйте их.

Прокрутите вниз и нажмите «Добавить новый вебхук в рабочую область». Выберите канал, на который должны отправляться уведомления, и нажмите «Разрешить».

После создания вы получите URL-адрес веб-перехватчика, содержащий секрет в параметре запроса. Скопируйте этот URL, поскольку он будет использоваться в коде веб-перехватчика Authgear.

Интеграция Authgear со Slack Webhook

Имея под рукой URL-адрес Slack Webhook, вы теперь можете настроить Authgear Hook для реагирования на событие user.created неблокирующего типа.

Написание функции-перехватчика

Перейдите в раздел Дополнительно->Hooks на Портале Authgear. Добавьте новое Неблокирующее событие:

Выберите перехватчик Type в качестве TypeScript. Вы напишете функцию, которая будет реагировать на событие создания пользователя и отправлять уведомление в Slack. Нажмите Редактировать сценарий под опцией Конфигурация, вы перейдете в редактор:

Мы хотим отправить POST-запрос на URL-адрес веб-перехватчика Slack при срабатывании EventUserCreated:

import { EventUserCreated } from "https://deno.land/x/[email protected]/mod.ts";
export default async function(e: EventUserCreated): Promise<void> {
    const url = "YOUR_SLACK_WEBHOOK_URL";
    // Replace the text below with the actual message you want to send.
    const message = `New account signup: ${e.payload.identities[0].claims.email} has joined!`;
    const payload = {
      text: message,
    };
    const headers = {
      "Content-Type": "application/json",
    };
    // Send a POST request to the Slack webhook URL with the message.
    await fetch(url, {
      method: "POST",
      headers: headers,
      body: JSON.stringify(payload),
    });
}

Эта асинхронная функция TypeScript запускается после регистрации пользователя. Замените YOUR_SLACK_WEBHOOK_URL URL-адресом, скопированным ранее. После этого нажмите Завершить редактирование и Сохранить изменения на странице «Хуки».

Подтвердите новый хук

После того, как все настроено, мы можем протестировать вновь созданный хук в действии. Самый простой способ проверить это — вручную создать нового пользователя на странице Управление пользователями на Authgear Portal.

После создания нового пользователя вы должны увидеть, что новое сообщение доставляется с адресом электронной почты пользователя [email protected] на канал Slack:

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

После того, как вы зарегистрируетесь по электронной почте, в Slack будет отправлено сообщение:

Краткое содержание

Хуки Authgear предоставляют настраиваемый способ реагирования на события, связанные с пользователем. Благодаря интеграции со Slack вы можете получать обновления о регистрации пользователей в режиме реального времени непосредственно по предпочитаемому вами каналу. Обязательно изучите другие события и адаптируйте интеграцию к вашим конкретным потребностям!

Связанные ресурсы

Как расширение профиля может повысить эффективность вашего продукта

Сообщество

🙋 Присоединяйтесь к сообществу Authgear в Discord

🐦 Подписаться на Twitter

📝 Задавать вопросы

💁 Познакомьтесь с SDK с открытым исходным кодом

Об авторе

Посетите мой блог: www.iambobur.com