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