Пробовал это, но ничего не обнаружил. Требуются обсуждения или соответствующие ссылки.
Предположим, что мы отправим электронное письмо, чтобы побудить пользователя войти в наш супер-социальный webapp. Цель этого письма состоит в том, чтобы заставить их вернуться на сайт и еще немного подтолкнуть нас, прежде чем они забудут нас, поэтому мы, естественно, хотим снизить барьер к ним, возвращающийся. Cookies помогают предотвратить их необходимость входить в систему каждый раз, но все равно не помогают в случае, когда пользователь забыл свои учетные данные. Мы хотим мгновенного удовлетворения здесь - один щелчок прямо к ребенку действия. Вместо этого, почему мы не можем просто отправить пользователю хешированную форму случайно генерируемого чувствительного к времени маркера, который мы сохранили в БД? Если они смогут вернуть этот токен серверу, мы можем доверять их личности.
Этот сценарий кажется, что он может быть безопасным, если вы правильно управляете токенами. Процесс будет следующим:
-
Перед отправкой напоминания электронной почте Джону Доу, сгенерируйте токен случайного числа (достаточно большое количество, чтобы предотвратить угадывание), срок действия которого истекает через несколько дней.
-
В электронном письме укажите URL-адрес, содержащий хешированную форму токена (perhap xor с идентификатором пользователя).
-
Когда Джон Доу входит в свой адрес электронной почты и нажимает на ссылку, сервер проверяет наличие токена в БД и что он не истек. Если токен существует, он автоматически регистрируется сервером.
Безопасность. Мы предполагаем, что письмо Джона Доу действительно принадлежит Джону Доу, хотя бы потому, что адреса электронной почты проверяются как часть процесса регистрации. Любой пользователь, имеющий доступ к электронной почте Джона Доу, сможет получить доступ к своей учетной записи; однако это не ново. Многие сайты уже предполагают, что учетная запись электронной почты пользователя защищена, поскольку они реализуют эту функцию для пароля reset для отправки по электронной почте.
В моем googling появился только один сайт, который делает это, OKCupid, который является сайтом онлайн-знакомств. Кто-нибудь знает о каких-либо других сайтах, которые это делают? Почему не мгновенный вход по электронной почте чаще? Безопасность? Отсутствие существенной выгоды для дополнительной сложности?