@romaro

Есть ли ошибки в моей схеме аутентификации по магической ссылке?

Хочу реализовать беспарольную аутентификацию на сайте с JWT-авторизацией. В качестве фреймворка использую Experss.

Сейчас вижу такой сценарий:
1) На странице логина пользователь вводит свой e-mail;
2) Проверка в базе, есть ли пользователь с таким e-mail.
3) Если пользователь найден, обновить refresh-токен и отправить ссылку с этим токеном на почту пользователя.
4) Пользователь переходит по ссылке. Выполнить проверку валидности refresh-токена.
5) Если refresh-токен валиден, то а) снова обновить refresh-токен б) выписать jwt-токен
6) Отправить новый refresh и jwt-токены на клиента.

То есть refresh-токен отправляется пользователю по email в открытом виде, но живет до первого перехода по ссылке. Предполагается, что refresh-токены актуальны 15 дней, но для тех, которые отправлены по email, можно установить срок годности в несколько часов.

Насколько этот вариант рабочий для сайта со средними требованиями по безопасности? То есть нет возможности вывести деньги с баланса пользователя за считанные минуты.

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

P.S. Пока готовил вопрос, подумал о том, что в качестве дополнительной меры безопасности можно хешировать refresh-токен перед встраиванием в url.
  • Вопрос задан
  • 61 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы