Можно ли предварительно заполнить поле пароля на веб-сайте через переход по электронной почте?

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

Можно ли щелкнуть URL-адрес в электронном письме и автоматически сгенерировать имя пользователя и пароль для веб-сайта?

Веб-сайт имеет только один логин, поэтому он будет одинаковым для всех получателей электронной почты.

Спасибо,

0

Решение

Почему бы вам не создать веб-страницу с уже введенными логином и паролем.

Например:

<form method="POST" action="http://">
<label for="username">Username:</label>
<input placeholder="MyLogin" id="username" name="username" size="15">
<br /><br />
<label for="password">Password:</label>
<input placeholder="MyPassword" type="password" id="password" name="password" size="15">
<br /><br />
<input type="submit" value="Login">
</form>
0

Другие решения

Это возможно, но не уверен, что это самое безопасное.

Если бы я должен был реализовать, я бы:

  1. Создать систему для выдачи токена, который связан с пользователем в системе
    и, вероятно, имеют какой-то срок действия и «используется» флаг, чтобы предотвратить
    обмен ссылкой.

  2. Создайте целевую страницу / конечную точку API, которая ищет токен, извлекает учетные данные пользователя и выполняет весь рабочий процесс входа в систему для любой проверки подлинности.

  3. Ссылка в электронном письме приведет вас непосредственно к конечной точке целевой страницы / API вместе с токеном, выданным для пользователя. Как только он попадет на эту страницу обработки, проверьте, был ли токен уже использован или нет, проверьте срок его действия, пометьте токен как «использованный» и продолжите аутентификацию.

0

Я сделал что-то похожее на это (хотя делать это с паролями не рекомендуется).

поместите некоторый код на целевую страницу, который проверяет URL при загрузке страницы:

window.onload = function(){
var key = window.location.search; // grab the ?XXX part of the URL
if (key == '?some_key'){
populateInputs(); // function to fill user/pass
}
}

И тогда вы можете отправить ссылку, как это: www.thesite.com/landingPage.html?some_key

Это всего лишь простой пример, который, надеюсь, даст вам представление о том, как выполнить вашу задачу.

0