Принудительно сбросить пароль после первого входа в систему - PullRequest
0 голосов
/ 02 августа 2020

Я создаю веб-приложение, используя Python, ReactJS, AWS лямбда.

Я хочу заставить пользователя изменить пароль после первого входа в систему. Как мне поступить с изменением бэкэнда?

После сброса пароля он должен перенаправить на обычную страницу.

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 02 августа 2020

В таблице, в которой вы храните пользователей, вы можете создать столбец, чтобы проверить, входит ли пользователь в систему в первый раз или нет. Это можно сделать с помощью следующего метода: при создании пользователя значение для столбца firstLogin (типа Date) будет установлено как NULL, а когда пользователь входит в первый раз, вы можете использовать функцию Date для получения дату и вставьте туда значение.

Итак, вот краткий процесс.

  1. Сделайте HTTP-запрос для создания учетной записи, используя fetch, ax ios, request или какой модуль вам нравится, чтобы создать учетную запись. Маршрут: POST / пользователь, тело которого содержит значения или данные о пользователе. На бэкэнде установите для оператора SQL значение INSERT INTO User(Firstname, Lastname, Username, Password, FirstLogin) VALUES ("RAM", "KUMAR", "ramkumar", "iamaverysecurepassword", NULL);
  2. Теперь, когда пользователь впервые входит в систему с помощью вашего веб-приложения, сделайте вызов бэкэнду, используя следующий маршрут: PATCH / пользователь, для выполнения следующего SQL запроса UPDATE User SET FirstLogin="{Value of Date}" WHERE Username="{Your username here(ramkumar)}";
  3. Теперь, когда вы установили дату первого входа пользователя в систему, вы перенаправляете пользователя в свое веб-приложение, используя document.location.href={URL to normal page}"
  4. А потом идет условие, что если пользователь не вошел в систему в первый раз, как перенаправить его на страницу смены пароля? Фактически вы снова выполняете запрос SQL, чтобы проверить, входит ли он в систему в первый раз или нет. Итак, в основном каждый раз, когда действие требует, чтобы пользователь вошел в систему раньше, то есть в первый раз. Вы проверяете, имеет ли столбец FirstLogin в вашем SQL значение или NULL для соответствующего пользователя. SELECT Firstname FROM User WHERE Username={your username here(ramkumar)}; Теперь проверьте значение с помощью оператора if в вашем коде, значение для выполненного SQL запроса и что FirstLogin содержит дату или имеет значение null.
...