Как создать временную ссылку для восстановления пароля? - PullRequest
0 голосов
/ 18 сентября 2018

Я создал новое одностраничное приложение с процессом входа в систему.Сначала я использовал секретный вопрос для восстановления пароля пользователя.Тот же процесс, который я использовал, когда администратор настраивал новую учетную запись.Система автоматически генерирует временный пароль и отправляет ссылку пользователю на основании введенного адреса электронной почты.

Тогда я увидел несколько статей, в которых настоятельно рекомендуется не отправлять пароли по электронной почте.Альтернативное решение, которое они предложили, заключается в создании временной ссылки.Для этого они используют tokens.Ссылка будет содержать url параметров с комбинацией токенов.Этот токен сохраняется в таблице базы данных с датой / флагом истечения срока действия.После того, как пользователь нажимает forgot password, вводит адрес электронной почты и нажимает кнопку отправить.Вот пример этого метода с PHP

Сначала я создал таблицу с этими полями.Пример:

RecID   int
Email   varchar(80)
Salt    varchar(32)
Token   varchar(50)
Expires datetime

В одном я не уверен, что в примере PHP selector.Я думаю, это что-то похожее на Salt, которое я должен использовать в сочетании с hash().У меня вопрос: стоит ли использовать createUUID() в сочетании с солью и токеном или нет?Вот пример от Раймонда Камдена .

Мне любопытно, что было бы лучшим вариантом, а также подходом.Если я создаю новую учетную запись для пользователя, я должен отправить ссылку с истечением 24 часов?Затем новый пользователь может создать пароль.Или есть лучший вариант для этого?Также есть ли недостатки решения, предоставленного с помощью PHP выше?Если у кого-то есть какие-либо предложения или лучшие примеры, пожалуйста, дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...