Перейти к содержимому

Ключи доступа и авторизация для SaaS без стороннего сервиса

Обновлено

В Seed входят по ключам доступа, по ссылкам для входа на почту, через Google и GitHub, а проверяет всё собственный API на вашем сервере, без стороннего сервиса авторизации. Пароли, ключи доступа и ссылки для входа работают сразу после деплоя, без платы за пользователя; для Google и GitHub нужно по два ключа в env-файле.

Что вы получаете

  • Пароли хешируются PBKDF2-SHA-256 через Web Crypto, по умолчанию 600 000 итераций
  • Подписанные cookie сеанса и журнал всех событий входа
  • Личные API-токены, которые хранятся только как хеши с ключом
  • Ключи доступа: хранится только открытый ключ, и каждый запрос на вход срабатывает один раз
  • Ссылки для входа: одна ссылка и входит, и регистрирует, срабатывает один раз в течение 15 минут и хранится только как хеш
  • Гостевые аккаунты (анонимный вход): посетитель начинает в один клик без способа входа, а потом добавляет к тому же аккаунту почту и пароль, Google, GitHub или ключ доступа
  • Неверные пароли считаются по логину со всех сетевых адресов, после чего вход ненадолго блокируется

Как это работает

API сам проверяет каждый вход и отвечает подписанной cookie сеанса. Ключ доступа работает на встроенном в браузер WebAuthn: сервер хранит только открытый ключ, и каждый запрос на вход срабатывает один раз. Ссылка для входа и входит, и регистрирует, срабатывает один раз в течение 15 минут и хранится только как хеш.

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

Страница безопасности в профиле: пароль, кнопка «Добавить ключ доступа», включённая двухфакторная защита и начало списка ваших устройств.

Вопросы

Нужен ли отдельный сервис авторизации?

Нет. Пароли, ключи доступа, ссылки для входа и ответы Google и GitHub проверяет собственный API Seed на вашем сервере, поэтому платить за каждого пользователя не нужно.

Поддерживает ли Seed ключи доступа (passkeys)?

Да. Люди добавляют ключ доступа в профиле и входят с ним; сервер хранит только открытый ключ, а каждый запрос на вход срабатывает один раз.

Есть ли в Seed двухфакторная аутентификация?

Да. Приложение-аутентификатор добавляет одноразовый код при входе, в том числе после входа через Google или GitHub.

Можно ли обойтись без входа через Google или GitHub?

Да. Каждый из них выключен, пока в env-файле не заданы обе его переменные: не задали — входа через него нет.

Seed работает на Node или Bun?

Пока нет. Сейчас Seed работает на Deno, а переход на Deno, Node и Bun уже идёт (#623). План по рантайму — на странице возможностей.

Посмотрите, как это работает, за минуту

Демо — это то самое приложение, которое вы получите в первый же день. Открывайте без регистрации: в гостевом аккаунте уже есть демо-данные.

Другие возможности

Группы и роли

Группы с ролями от читателя до владельца, приглашения и журнал действий.

Подробнее: Группы и роли

Оплата

Оплата за участника через Stripe с бесплатным тарифом, пробным периодом и отсрочкой.

Подробнее: Оплата

Синхронизация в реальном времени

Изменение, сохранённое в одной вкладке, появляется во всех остальных открытых вкладках без перезагрузки.

Подробнее: Синхронизация в реальном времени

Все возможности Сравнение Seed с другими