Как стать автором
Обновить

Magic link или история о том, как мы упростили жизнь пользователю

Время на прочтение4 мин
Количество просмотров9.8K
Всего голосов 18: ↑14 и ↓4+10
Комментарии13

Комментарии 13

Приняли решение, что можем открыть возможность создания вопроса для гостей. Клиент в форме создания сущности дополнительно вводит почтовый ящик и всё. Нет шага регистрации. Клиент захотел задать вопрос — он его задал.
Я бы добавил в пост информацию о том, что у этого подхода есть 2 довольно неприятных минуса:
1. опечатки при вводе почты, которые приводят к тому, что сотрудник Сервиса тратит время напрасно, т.к. его ответ не дойдет получателю;
2. отсутствие возможности фильтровать спамеров/неадекватов. Например, после того как в нашей ленте публикаций сделали приоритетной сортировку по «лучшим» (т.е. уже больше 9 месяцев) в наш саппорт, с периодичностью раз-два в неделю, какой-то ребенок-индиго шлет текст «на главной только Х страниц» с темой «ошибка в работе сайта», и нет никакой возможности обратить его внимание на то, что в шапке ленты есть переключатель фильтра публикаций, поскольку в качестве контактных он указывает адреса типа hj@hjdf.fh
Да, с минусами согласен. Нюанс с опечаткой есть, к сожалению, при обычной регистрации. Когда потом не можешь авторизоваться, хотя уверен на 100% в том, что «я же регался».

Юзайте что-то типа BriteVerify при регистрации/запросе и ситуация будет намного лучше

При регистрации (когда пользователь заинтересован в корректном указании адреса) это действительно целесообразно. А вот при запросах от всяких «одаренных», как мне кажется, не особо. По адресу hj@hjdf.fh хотя бы сразу видно, что на него можно не отвечать. А, если заставить его вводить валидный адрес, то свой адрес он все-равно не укажет и, в итоге, наш ответ получит сторонний человек.
Не понадобятся вам 40-символьные хеши: habr.com/company/virgilsecurity/blog/311676

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

Мы такую систему уже довольно долго используем для логина, смены пароля, мыла и т.д. Единственный минум, это пререндеринг таких ссылок, так как ссылки у нас одноразовые

А я для таких вещей использую JWT токен. Да, длинный, но в базе хранить не надо, и деактивируется автоматически. Плюс в него можно записать доп. информацию. Вот одноразовую ссылку без базы не сделаешь. Но даже в этом случае можно хранить не все сгенерированные токены, а только уже использованные и не весь, а только ID токена.
Я прямо представил кривую реализацию такой системы, когда в цикле генерятся рандомные хеши, происходит попытка INSERT в базу, ловля исключение not uniq constrains и далее в цикле продолжаем пытаться сгенерить новый хеш (у читывая что у вас всего 6 символов)
Надеюсь у вас не так
Идея писать короткие ссылки руками плоха тем, что любой человек может начать эти ссылки перебирать
Мне такое встретилось в Slack. ОЧЕНЬ удобно — особенно для авторизации с мобильных устройств (там у них сразу приложение открывается(!)).
Сам такие авторизационные ссылки часто где встречаю, но, как правило все они громоздкие. Как-то оформлял покупку в интернет-магазине и мне пришла СМС с такой ссылкой, чтобы я мог проверить состояние заказа. Открывать ссылку на телефоне желания не было, но пришлось, т.к. вводить в браузере 40 символов ещё то удовольствие.
Удобно — да, из минусов, при таком подходе:
1. ссылка должна быть одноразовой
2. в контенте письма не должно быть даже части контента, который увидит пользователь после перехода по ссылке, только кнопка «перейти на сайт». В противном случае пользователь может переслать это письмо кому-то еще (например, если в первых строках содержится ответ на вопрос), с целью поделиться полезностью и таким образом сольет доступ к своему аккаунту
Спасибо, согласен. У нас ссылка не одноразовая, но имеет время жизни. И 2й пункт также придерживаемся: если есть контентная информация, ссылки нет и наоборот. Правда, о Вашем аргументе не задумывались, но теперь будем им оперировать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации