Как это работает
Интеграция Webhook и собирается из готового сценария — вот как он устроен по шагам.
- Запуск: Вебхук регистрации
- Затем: Разобрать запрос регистрации
- Затем: Проверить запрос регистрации
- Затем: Найти пользователя по имени
- Проверка: Если имя пользователя доступно
- Если да — Найти пользователя по email
- Проверка: Если email доступен
- Если да — Сгенерировать соль
- Затем: Отформатировать пароль и соль
- Затем: Хэшировать пароль
- Затем: Отформатировать данные пользователя
- Затем: Создать пользователя
- Запуск: Регистрация успешна
- Запуск: Ответ об ошибке регистрации
- Если нет — Ошибка: email занят
- Если нет — Ошибка: имя занято
- Запуск: Ошибка: неверный запрос регистрации
- Затем: Обработать вебхук входа
- Затем: Установить секрет доступа и обновления
- Затем: Проверить ввод
- Затем: Получить пользователя
- Проверка: Если пользователь существует
- Если да — Извлечь соль и хэш
- Затем: Хэшировать введённый пароль
- Затем: Проверить пароль
- Затем: Создать полезную нагрузку JWT
- Затем: Подписать токен доступа
- Проверка: Объединить JWT-токены
- Затем: Отформатировать JWT-токены
- Затем: Хэшировать токен обновления для хранения
- Затем: Код на JavaScript
- Затем: Обновить токен обновления пользователя
- Проверка: Слияние
- Запуск: Вход успешен
- Затем: Сохранить токен обновления
- Затем: Подписать токен обновления
- Запуск: Неверные учетные данные
- Если нет — Пользователь не найден
- Запуск: Некорректный запрос
- Затем: Разобрать JWT
- Затем: Установить секрет доступа и обновления2
- Затем: Проверить HMAC-подпись
- Затем: Сравнить подписи
- Запуск: Токен доступа действителен
- Запуск: Токен доступа недействителен
- Запуск: Проверить токен доступа
- Затем: Обработать вебхук проверки токена
- Запуск: Запуск из другого сценария
- Запуск: Обновить токен доступа
- Затем: Обработать токен обновления
- Затем: Установить секрет доступа и обновления1
- Затем: Разобрать токен обновления
- Затем: Проверить подпись
- Затем: Сравнить подпись токена обновления
- Затем: Хэшировать токен обновления для поиска в БД
- Затем: Если токен обновления существует
- Проверка: Если токен обновления действителен
- Если да — Создать полезную нагрузку токена доступа
- Затем: Подписать новый токен доступа
- Затем: Отформатировать JWT токена доступа
- Запуск: Вернуть новый токен доступа
- Если нет — Сессия истекла
- Запуск: Вебхук входа
Такой сценарий можно запустить в Scriptera: задача описывается обычными словами, сборка и запуск — на стороне сервиса.