首页 > 解决方案 > 首次登录后强制重置密码

问题描述

我正在使用 Python、ReactJS、AWS lambda 制作一个 Web 应用程序。

我想强制用户在第一次登录后更改密码。我应该如何处理后端更改?

重置密码后,它应该重定向到正常页面。

任何帮助将不胜感激。

标签: pythonreactjsaws-lambda

解决方案


在您存储用户的表中,您可以创建一个列来检查用户是否是第一次登录。可以通过下面的方法实现,在创建用户时,将firstLogin(of Type Date)列的值设置为NULL,当用户第一次登录时,可以使用Date函数获取日期并在那里插入值。

所以,这里是简短的过程。

  1. 使用 fetch、axios、request 或任何您喜欢创建帐户的模块发出 HTTP 请求以创建帐户。路由:POST /user,正文包含有关用户的值或数据。在后端,将 SQL 语句设置为INSERT INTO User(Firstname, Lastname, Username, Password, FirstLogin) VALUES ("RAM", "KUMAR", "ramkumar", "iamaverysecurepassword", NULL);
  2. 现在,当用户第一次使用您的 Web 应用程序登录时,使用以下路由调用后端:PATCH /user,以执行以下 SQL 查询UPDATE User SET FirstLogin="{Value of Date}" WHERE Username="{Your username here(ramkumar)}";
  3. 现在,当您设置了用户首次登录的日期后,您可以使用重定向 Web 应用程序上的用户document.location.href={URL to normal page}"
  4. 然后出现了一个条件,如果用户没有第一次登录,如何将他重定向到密码更改页面?您实际上再次执行 SQL 查询,以检查他是否是第一次登录。所以,基本上每次一个动作都需要用户之前登录过,即第一次。您检查 SQL 中的 FirstLogin 列是否具有相应用户的值或为 NULL。SELECT Firstname FROM User WHERE Username={your username here(ramkumar)};现在使用代码中的 if 语句检查值、执行的 SQL 查询的值以及 FirstLogin 是否包含日期或为空。

推荐阅读